Entwickler-Ecke

Sonstiges (.NET) - Fehler in fremder Anwendung ermitteln?


Christoph1972 - Di 31.07.12 07:06
Titel: Fehler in fremder Anwendung ermitteln?
Hallo zusammen!

Wir haben eine „neue“ win7 fähige (x86) Softwareversion erhalten. Diese stürzt leider oft sporadisch ab, wann ist nicht reproduzierbar. Das Programm wird mit der Message beendet, das ein Problem festgestellt wurde und das Programm beendet werden muss, sonst gibt es leider keine Informationen. Für das Programm muss mindestens FW 3.5 installiert sein, also ein Net Programm mit einer UnhandledException. Besteht irgendwie die Möglichkeit die Ursache für den Absturz zu ermitteln? Könnte es gelingen, das Programm in ein eigenes Net Programm einzubetten und dann die Exception auszuwerten? Über Ideen und Anregungen würde ich mich sehr freuen!


Palladin007 - Di 31.07.12 10:38

Die UnhandledException ist die Ausnahme, die von der Anwendung ausgelöst wird, wenn eine interne Ausnahme nicht abgefangen wird. Das ist ein beliebter Fehler und kann selbst den besten Programmierern noch passieren.
Hier die msdn-Doku dazu: http://msdn.microsoft.com/de-de/library/system.appdomain.unhandledexception%28v=vs.80%29.aspx

Was das Problem ist, gibt dieser Fehler allerdings nicht zu verstehen und da sage ich dir ja auch nix neues.
In ein eigenes Projekt einbetten funktioniert, allerdings weiß ich nicht wie.
Ich weiß aber, dass du das Programm mit Debuggern, wie dem Visual Studio (habe es nur mit der Professional-Version 2010 getestet).
Wenn du das installiert hast, müsste bei dem Fehler eigentlich noch die Option hinzu gefügt, die dir anbieten, das Programm zu debuggen. Auf diese Weise müsstest du eigentlich alle nötigen Informationen erhalten können, aber ob du damit den Fehler finden oder sogar beheben kannst, bezweifle ich, solange du nicht weißt, wie das Programm aufgebaut ist.


Da du ja VS2010 installiert hast und anscheinend keine Debuggen-Option vorhanden ist, müsste ich mal ein bisschen suchen, vielleicht gibt ja Google was her oder ich finde die entscheidende Option im VS.


Ralf Jansen - Di 31.07.12 11:40

Auf dem Recher auf dem die Anwendung läuft einen Debugger als Post-Mortem Debugger registieren. Siehe zum Beispiel hier [http://msdn.microsoft.com/en-us/library/windows/hardware/ff542967(v=vs.85).aspx] welche Optionen dir da offen stehen. Wenn das noch nicht hilft kannst du dich auch zur Laufzeit mit einem Debugger an die Anwendungen anhängen.

Aber was dir die Exceptiondetails wie der Stack helfen soll ist fraglich. Wie sieht es mit Herstellersupport aus? Der hat die mittel das Problem nicht nur zu finden sondern auch zu lösen. Wenn ihr mit deren Support nicht weiterkommt solltet ihr euch fragen ob das der richtige Geschäftspartner ist.


Christoph1972 - Di 31.07.12 16:28

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Aber was dir die Exceptiondetails wie der Stack helfen soll ist fraglich. Wie sieht es mit Herstellersupport aus? Der hat die mittel das Problem nicht nur zu finden sondern auch zu lösen. Wenn ihr mit deren Support nicht weiterkommt solltet ihr euch fragen ob das der richtige Geschäftspartner ist.


Vielen Dank für die Tipps! Ich werde mich mal mit der Thematik befassen. Die Details würde ich gerne dem Hersteller zukommen lassen. Der Support kann uns momentan nicht helfen, da der Fehler nur sporadisch auftritt und nicht reproduzierbar ist. Angeblich sind wir die einzigen Kunden mit dem Problem.