Absturz mit System.ObjectDisposedException
Ich habe ein seltsames problem mit meinem Programm. Ich entwickle eine windows form-Anwendung. Wenn ich Debuggen mit Visual Studio (F5) funktioniert es tadellos korrekt, aber wenn ich führen Sie die ausführbare Datei stürzt es ab und gibt mir "Eine nicht behandelte Ausnahme des Typs 'System.ObjectDisposedException "ist in mscorlib.dll".
Habe ich ein top-level - (auf meinem äußerste Funktion) try/catch zum abfangen dieser Ausnahme, aber trotzdem stürzt das Programm ab. Was vermisse ich hier?
Ich nicht hochladen, den code hatte ich da hochladen, den gesamten code für Sie, um zu sehen, wo das problem ist.
- Das problem ist, dass beim Debuggen der GC nicht sammeln Sie Gegenstände, die entsorgt werden, wie so oft. Irgendwo in Ihrem code, den Sie versuchen auf ein Objekt zuzugreifen, dass Sie nicht mehr eine gültige Referenz auf. Es wurde entsorgt. Es ist unmöglich zu sagen, wo genau ohne code.
- Wenn er versucht, darauf zuzugreifen, offensichtlich muss er eine Referenz haben, und somit keine GC.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wow, eine ObjectDisposedException, die nicht abgefangen wird von einem top-level-catch-block?
Ich bin mir nicht sicher, was ich tun würde in diesem Fall - offensichtlich, Sie möchten, um zu sehen, der stack-trace und finden Sie heraus, was es ist, entsorgt wurde. Es gibt ein paar un-fangen-können Ausnahmen, aber diesein ist nicht einer von Ihnen. Ich würde wahrscheinlich befestigen Sie einen handler auf die Anwendungsdomäne.UnhandledException-Ereignis, und sehen, wenn Sie nichts gefunden.
Wenn man die stack-trace der exception, sollte es helfen, Sie Debuggen die Ursache. Finden Sie den Call-Stack-Fenster hilfreich für diese. Überprüfen Sie die Anweisungen hier:
Können Sie auch wollen, deaktivieren Sie den "Nur Mein Code" - option für das Debuggen in Visual Studio. Dies kann Ihnen besseres exception debug-Informationen. Folgen Sie den Anweisungen (zu deaktivieren) hier: