2009-08-26 25 views
2

Ich bekomme weiter .NET Runtime 2.0 Fehler (im Ereignisprotokoll gemeldet) auf meinen Testmaschinen, ich neige dazu, diese beim Austauschen von Baugruppen für diejenigen mit mehr Debugging/Diagnoseinformationen (oder Fixes) . Ein Beispiel Nachricht: (sollte ich das tun).NET Runtime 2.0 Fehler

Faulting application MyApp.exe, version 1.0.0.66, stamp 4a3851fa, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51f0a, debug? 0, fault address 0x0000bef7. 

Meine Vermutung ist, dass, obwohl ich vorsichtig bin nicht die Schnittstelle zu ändern, Baugruppen auf diese Weise tauschen woanders vermutlich etwas ist, sollte nicht ich tun

Immerhin ist der Installation/Build-Prozess für diese App stark, und es ist ein großer Schmerz, alles neu zu erstellen und neu zu installieren, wenn es Probleme debuggt (in der Tat ist es einfach nicht machbar). Gibt es eine Möglichkeit, aus diesen Fehlern weitere nützliche Informationen zu erhalten?

Antwort

1

Dies liegt daran, dass die Anwendung auf eine nicht behandelte Ausnahme stößt.

Obwohl es mehr Arbeit auf kurze Sicht sein kann, können Sie Ihre Anwendung überarbeiten Tracing-Informationen aufzunehmen und die Werkzeuge in den System.Diagnostics namespace.

Zum Beispiel zu nutzen, System.Diagnostics.Trace Sie über Konfiguration (keine Änderung angeben kann, in Build) verschiedene Listenerklassen, die für die Ablaufverfolgung der Laufzeit verwendet werden könnten. Sie können damit eine Funktionalität implementieren, die Ihnen hilft, die Probleme, die Ihre Probleme verursachen könnten, einzugrenzen und nur die Ablaufverfolgungsausgabe auf Ihren Testmaschinen zu aktivieren.

Stellen Sie außerdem sicher, dass Sie einen sauberen Exception-Handler auf oberster Ebene haben. Dies kann Ihnen helfen, einige Ihrer Stack-Trace-Informationen zu finden, wenn Ihre Anwendung fehlerhaft ist.

0

Alte Post, aber ich hatte gerade dieses Problem und konnte den problematischen Code von Remote-Debugging auf der Spur, wie hier beschrieben: http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010#_rating

ähnliche Frage hier: .NET Winforms app dies on startup

In meinem Fall hatte ich eine hanlder for a treeview AfterSelect, welches die Auswahl des Baumes verändert hat und einen anderen AfterSelect ausgelöst hat, usw. - der resultierende Fehler: stackoverflow. Dies scheint auf anderen Rechnern nicht zu geschehen, daher könnte es etwas mit dem Framework zu tun haben.

0

Ich hatte das gleiche Problem mit einer Konsolenanwendung; Ich löste es, indem ich es von der Befehlszeile aus startete, wo ich die Ursache des Fehlers sehen konnte (in meinem Fall, Zugriffsrechte auf eine DLL):

Unhandled Exception: System.IO.FileLoadException: Could not load file 
or assembly 'FHVI_Common, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null' 
or one of its dependencies. Access is denied. File name: 'FHVI_Common, Version=1.1.0.0, 
Culture=neutral, PublicKeyToken=null' ---> System.UnauthorizedAccessException: 
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 
    at xyzCL_Process.Main()