2009-12-03 2 views
1

По какой-то причине, когда мое приложение запускается, я получаю исключение System.NullReferenceException. Что действительно странно, так это то, как окно исключения не указывает на какую-либо строку кода. Я не знаю, какая часть вызывает проблему. Вот стоп-трасса:NullReferenceException mystery

 
System.NullReferenceException was unhandled 
Message="Object reference not set to an instance of an object." 
Source="Microsoft.VisualBasic" 
StackTrace: 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.MainFormLoadingDone(Object sender, EventArgs e) 
    at System.EventHandler.Invoke(Object sender, EventArgs e) 
    at System.Windows.Forms.Form.OnLoad(EventArgs e) 
    at System.Windows.Forms.Form.OnCreateControl() 
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 
    at System.Windows.Forms.Control.CreateControl() 
    at System.Windows.Forms.Control.WmShowWindow(Message& m) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.ContainerControl.WndProc(Message& m) 
    at System.Windows.Forms.Form.WmShowWindow(Message& m) 
    at System.Windows.Forms.Form.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
    at System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, Int32 wParam, Int32 lParam) 
    at System.Windows.Forms.Form.SetVisibleCore(Boolean value) 
    at System.Windows.Forms.Control.set_Visible(Boolean value) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.Run(ApplicationContext context) 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) 
    at EEMSReports.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81 
    at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Threading.ThreadHelper.ThreadStart() 

Кто-нибудь когда-либо видел это раньше или имеет какие-либо предложения?

Заранее спасибо.

+0

Что в строке 81 вашего EEMSReports? –

+0

Я спрашиваю из-за: 'в EEMSReports.My.MyApplication.Main (String [] Args) в 17d14f5c-a337-4978-8281-53493378c1071.vb: строка 81' –

+0

У вас есть VS, установленный для разрыва на Common Language Runtime Exceptions ? – Ragepotato

ответ

1

Если вы хотите, чтобы иметь возможность отладки приложения, когда происходит исключение, создать проект, который будет запускать приложения при запуске отладчика (см Свойства проекта ->Debug вкладка). Проект не должен иметь никакого исходного кода.

Затем, скажите отладчик разорвать любого брошенного исключения (см Debug ->Исключения) и запустить приложение с F5.

+0

Хорошо, я попробую это. – broke

1

Как говорит Бен в комментариях, нулевая ссылка исходит из:

EEMSReports.My.MyApplication.Main (String [] агдз) в 17d14f5c-a337-4978-8281-53493378c1071.vb: линия 81

Это указывает на временный файл, сгенерированный компилятором. Из памяти возможно, что это ошибка в компиляторе C#, где он удаляет временный файл, прежде чем пытаться его использовать. Но я бы поставил Visual Studio на разрыв необработанных исключений, а затем посмотрел, где генерируется исключение.

+0

Хорошо, я попробую это. – broke