none
Debugging: Programm stürzt ohne Fehlermeldung ab ! RRS feed

  • Frage

  • Hallo liebe Support-Community,

    ich habe eine Frage bezüglich dem Debuggen einer Anwendung. Meine Software stürzt bei einer gewissen Programmaktion (oftmaliges Ein- und Ausstecken eines "tastatursimulierenden" Gerätes) ab. Unter Windows XP (dort soll meine Software später eingesetzt werden) wird der Absturz immer von der Meldung "... hat ein Problem festgestellt und muss beendet werden." begleitet. Aus dieser Meldung kann ich aber leider die Absturzursache nicht ermitteln. Aus diesem Grund habe ich mich dafür entschieden, die fertige EXE mithilfe des Visual Studios zu debuggen, um so dem Fehler auf die Spur zu kommen. Leider zeigt mir aber auch der Debugger diesen Fehler nicht an (wenn dieser Fehler auftritt schließt sich die Software einfach !) und der Debugger gibt keinerlei Informationen darüber Preis... Das finde ich ziemlich merkwürdig - bei jedem anderen erdenklichen Fehler (habe schon absichtlich Fehler eingebaut) werden diese vom Debugger korrekt ausgegeben, nur bei diesem Fehler leider nicht.

    Mir ist bewusst, dass man Beschreibung keinerlei konkreten Informationen entnehmen kann, aber vielleicht kann mir trotzdem jemand einen Tipp geben, was ich noch machen kann, um diesem mysteriösen Fehler auf die Schliche zu kommen ...


    • Bearbeitet rohrerpat Montag, 7. September 2015 22:22
    Montag, 7. September 2015 22:21

Antworten

Alle Antworten

  • Hallo,

    wenn dies deine Software ist, dann Debuggen doch lieber den Source-Code. Denn dann kann VS auch break-point besser setzen und mehr Fehler abfangen.

    Wenn es eine c#/VB.NET-Anwendung ist, kannst du auch alle Fehler in der App selbstständig abfangen. 


    © 2015 Thomas Roskop
    Germany //  Deutschland

    Dienstag, 8. September 2015 05:07
  • Hi,

    grundsätzlich solltest Du auch mal versuchen, ob Du mehr Fehlerdetails erhältst, wenn Du eine als Debug kompilierte Version zum Absturz bringst.

    Ansonsten siehe Thomas Vorschläge.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 8. September 2015 06:05
    Moderator
  • Hallo rohrerpat,

    Hast Du schon mal in den Windows Eventlog geschaut? Vieleicht findest du dort was.

    Eine weitere Möglichkeit (das ist aber schon fortgeschrittenes debugging):

    Als erstes musst Du den Moment des Absturzes kriegen. Wenn Du die Fehlermeldung kriegst, dann bleibt die ja stehen. D.h. du kannst Dein Visual Studio in dem Moment an den Prozess attachen.

    Dann kannst du schauen, ob du in den Debugging Fenstern (Callstack, Locals, etc) etwas siehst. Falls nicht (und jetzt wirds kompliziert) kannst Du es mit nativem debugging versuchen. Das geht auch im Visual Studio Immediate Window (kommt aber auf die VS version an).

    Dafür musst du die SOS.dll assembly laden, welche Deiner .NET Framework Version entspricht:

    http://blogs.msdn.com/b/jacdavis/archive/2006/08/25/using-sos-in-visual-studio.aspx

    Dann kannst du !CLRStack im immediate window ausführen und siehst den .NET Stack. Wenn Du Glück hast, dann liegt dort zuoberst eine Exception drauf.

    !analyze -v (analyze exceptions) hilft dir vieleicht auch weiter.

    Gruss MM


    PS: Please mark as answer if helpful. Thanks!
    Blog: http://www.manuelmeyer.net
    Twitter: https://twitter.com/manumeyer1

    Dienstag, 8. September 2015 08:12
  • Hallo Thomas,

    danke für deine schnelle Antwort. Ich habe jetzt direkt die gesamte Projektmappe (statt nur der fertigen .exe) im "Debug"-Modus geöffnet und das Debugging damit versucht. Leider erhalte ich dort auch keinerlei Informationen über den Absturz. An den Stellen, an denen im Betrieb ohne Visual Studio die Meldung "... hat ein Problem festgestellt und muss beendet werden." erscheint, beendet sich im Debugger einfach die Ausführung des Programmes ohne jegliche weitere Informationen, aus welchem Grund dies geschieht.

    Edit: Habe soeben herausgefunden, dass man die Meldung "... hat ein Problem festgestellt und muss beendet werden" mit der Maus einfach ganz an den Rand des Bildschirms verschieben kann und das Programm im Anschluss ganz normal weiterverwenden kann. Nur wenn man auf "Problembericht senden" oder "Nicht senden" klickt oder das Fehlerfenster schließt, so wird auch die Software beendet. Das festgestellte Problem scheint also gar kein "echtes" Problem zu sein ...


    • Bearbeitet rohrerpat Samstag, 12. September 2015 10:55 Aktualisiert
    Samstag, 12. September 2015 09:29
  • Hallo Stefan,

    habe das nun so versucht, leider erhalte ich auch hier KEINERLEI Infos, warum es zu dem Absturz kommt.

    Samstag, 12. September 2015 09:30
  • tja, da würde ich den code an geeigneten stellen mit:

    try { // hier steht der code der getestet werden soll } catch (Exception ex) {

    string test =" stelle xy"; MessageBox.Show(ex.ToString() + test); }


    bestücken, da kannst Dir die Fehlermeldung besser anschauen und findest eher die Stelle wo es hapert ..

    Donnerstag, 17. September 2015 05:11
  • Hallo rohrerpat,

    Ich gehe davon aus, dass die von Thomas und sleepy007 empfohlene try-catch-Anweisung Dir weitergeholfen hat, die Fehler abzufangen. Solltest Du noch Rückfragen dazu haben, gib bitte Bescheid.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 30. September 2015 06:45
    Moderator
  • Hallo Dimitar und vielen Dank für deine Antwort. Leider hat mir das Try-Catch nicht geholfen. Merkwürdigerweise ist das Programm trotzdem abgestürzt. Im Debug-Modus über Visual Studio wurde mein Programm einfach geschlossen (ohne jegliche Rückfragen oder Fehlermeldungen), und im Ausführen ohne Entwicklungsumgebung erschien wieder die "Hat ein Problem festgestellt und muss beendet werden"-Meldung. Da nach weiteren Testphasen aufgefallen ist, dass der Fehler nur auf bestimmten Geräten auftritt (auf 5 PC's mit Windows XP tritt dieser auf, auf 2 PC's mit Windows 10 konnte ich den Fehler noch nie beobachten), stellt sich für mich die Frage, ob dieser Fehler möglicherweise durch ein OS- oder Hardwareproblem ausgelöst wird und dieser Fehler einfach den Debugger (der die Fehlermeldung ausgeben sollte) beendet, dem spricht allerdings entgegen, dass es im Windows Eventlog keinerlei Meldungen betreffend des Fehlers gibt.
    Mittwoch, 30. September 2015 19:29
  • Hallo rohrerpat,

    Remotedebugging für Windows XP wird in Visual Studio 2015 nicht unterstützt. Sieh dir dazu folgende Tabelle an:
    Visual Studio 2015 – Kompatibilität

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 1. Oktober 2015 13:29
    Moderator