none
Debugger crashs when hitting a breakpoint RRS feed

  • Allgemeine Diskussion

  • Visual Studio 2012, Win7, C++

    Visual Studio stürzt komplett ab, wenn es im Debug-Mode auf einen Breakpoint kommt. Ansonsten läuft das Programm stabil. Es ist egal, wo ich den Breakpoint setze. Der Effekt trat plötzlich auf, ohne dass am System relevante Änderungen vorgenommen wurden. An Erweiterungen nutze ich lediglich AnkhSVN, was sich auf das Debuggen nicht auswirken sollte. Hat jemand ähnliches beobachtet?

    • Typ geändert Ionut DumaModerator Freitag, 23. November 2012 09:57 Keine Rückmeldung des Fragenstellender
    Donnerstag, 8. November 2012 09:57

Alle Antworten

  • Hallo inge meysel,

    Hast Du dieses Problem für ein bestimmtes Projekt oder für alle C++ Projekte?

    Gruß,

    Ionut

    Freitag, 9. November 2012 13:10
    Moderator
  • Ich habe das Problem inzwischen etwas einkreisen können:

    * Es ist nur ein Projekt (bis jetzt :)
    * Es passiert nach dem Laden einer DLL
    * Aus dieser DLL wird eine Callback-Methode des Hauptprogramms aufgerufen
    * Danach kann ich nirgends mehr Breakpoints setzen, ohne dass VS abstürzt
    * Die Debug-Version läuft aber ausserhalb des Debuggers stabil

    In den Logs finde ich folgenden Eintrag:


    3101869497
    1
    APPCRASH
    Nicht verfügbar
    0
    devenv.exe
    11.0.50727.1
    5011ecaa
    KERNELBASE.dll
    6.1.7601.17651
    4e211319
    e06d7363
    0000b9bc
    





    Ich vermute, dass der Debugger Informationen sammeln will und nicht bekommt. Danach gibt er wohl auf. Bin etwas ratlos.

    Freitag, 9. November 2012 15:14
  • Hallo inge meysel,

    Kannst Du  AnkhSVN deinstallieren und nochmal probieren? Es konnte sein dass  Du ein Problem mit einem Add-in hast  vzb. http://blogs.msdn.com/b/visualstudio/archive/2010/05/11/if-you-are-seeing-intermittent-crashes-with-vs-2010.aspx

    Gruß,

    Ionut

    Freitag, 9. November 2012 15:32
    Moderator
  • Ja, wahrscheinlich muss ich diesen Fall testen, obwohl AnkhSVN eigentlich nur aktiv wird, wenn sich der Quellcode ändert. 

    Meine vorher geäusserte Vermutung mit dem Debugger rührt daher, dass ich ähnliche Abstürze hatte, wenn ich Breakpoints in Codestellen setzte, die keine Debuginformationen enthielten. VS 2010 war da irgendwie stabiler. Ich hoffe, ich muss keinen Downgrade machen.

    Ich werde hier posten, wenn ich es ohne AnkhSVN getestet habe. Danke schon mal!

    Freitag, 9. November 2012 15:50
  • Ich habe AnkhSVN deinstalliert und das Problem bleibt bestehen, auch auf verschiedenen Rechnern. An der Hardware oder am System kann es also nicht liegen. Der oben genannte Zusammenhang mit der DLL hat sich nicht bestätigt. Die Abstürze treten jetzt auch gleich nach dem Programmstart auf, bevor eine DLL geladen wird oder weitere Threads gestartet werden.
    Samstag, 10. November 2012 17:31
  • Hallo inge meysel,

    Was für ein Projekt hast du?  C++ MFC? Ich habe das auf Microsoft Connect gefunden, vielleicht hast du dasselbe Problem.

    Gruß,

    Ionut

    Montag, 12. November 2012 12:20
    Moderator
  • Es ist ein reines C++ Project, das intensiv die Boost-Library (v1.51.0) nutzt. Es sind alles Konsolen-Anwendungen, kein GUI. Im Grunde elementare Sachen. Ich kann in der main() Funktion einige Zeilen debuggen, dann stürzt VS ab. Ein Grund ist nicht erkennbar. Es sind noch keine DLLs geladen und keine Threads gestartet. Eine Besonderheit ist vielleicht, dass ich einige Dateien mit /bigobj übersetzen muss. Habe aber nirgends gefunden, dass das ein Problem ist.

    Habe auf MS Connect ähnliches gefunden, aber bis jetzt keine passende Lösung.

    Dienstag, 13. November 2012 08:29
  • Hallo inge meysel,

    Da die Abstürze im Kernel auftreten, gehe ich von einen "externen" Einfluss aus.

    Solche Einflüsse können z.B. von einem VirenScanner ausgehen, der die Vorgänge im Kernel überwacht.

    Kannst Du einmal mit Hilfe von "msconfig" im Diagnose Modus booten und dann testen.

    Sollte der Absturz immer noch auftreten, dann haben wir eher ein Defekt in VS selbst.

    Hier würde ich dann zu einer Neuinstallation von VS raten.

    Sollte der Absturz im Diagnose Modus nicht mehr auftreten, fängt die eigentliche Suche an, um den Verursacher zu ermitteln.

    Man kann dann mit Hilfe von "msconfig" nach und nach die Startup-Programme und Dienste wieder einschalten, um zu prüfen ab wann der Fehler wieder auftritt.

    Sollte dies nicht helfen, wäre als nächster Schritt eine Dump-Analyse von VS angebracht.

    Gruß,
    Ionut
    Dienstag, 13. November 2012 11:54
    Moderator
  • OK, habe ich alles gemacht, Windows im SafeMode gestartet, VS im SafeMode gestartet, VS neu installiert, .... alles bleibt unverändert. Wie ich an ein Dumpfile komme, weiss ich allerdings nicht. Alles was ich bekomme, ist ein "Report.wer" file im Report Archive: C:\Users\....\AppData\Local\Microsoft\Windows\WER\ReportArchive\

    Was ist zu tun, um ein Dumpfile zu erhalten?

    Dienstag, 13. November 2012 13:18
  • Dienstag, 13. November 2012 13:30
    Moderator
  • Hallo inge meysel,

    Hast Du geschafft mit den  DumpFile?

    Gruß,
    Ionut
    Donnerstag, 15. November 2012 08:03
    Moderator
  • Ja, ich habe VS im Debugger eines anderen VS gestartet und das Dumpfile dann gespeichert. Hier ist der Stacktrace:

        vsdebugeng.dll!51c34566()     
        [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für vsdebugeng.dll]    
        vsdebugeng.dll!51c344f3()     
        vsdebugeng.dll!51c2b5e1()     
        msvcr110.dll!@_EH4_CallFilterFunc@8() Zeile 394    Asm
        msvcr110.dll!_except_handler4_common(unsigned int * CookiePointer, void (unsigned int)* CookieCheckFunction, _EXCEPTION_RECORD * ExceptionRecord, _EXCEPTION_REGISTRATION_RECORD * EstablisherFrame, _CONTEXT * ContextRecord, void * DispatcherContext) Zeile 370    C
        vsdebugeng.dll!51c39fbc()     
        ntdll.dll!777cb459()     
        ntdll.dll!777cb42b()     
        ntdll.dll!777cb3ce()     
        ntdll.dll!77780133()     
        KernelBase.dll!74f6b9bc()     
        KernelBase.dll!74f6b9bc()     
        KernelBase.dll!74f6b9bc()     
        KernelBase.dll!74f6b9bc()     
    >    msvcr110.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Zeile 152    C++
        cppdebug.dll!507f4250()     
        cppdebug.dll!50794e56()     
        cppdebug.dll!50731a07()     
        cppdebug.dll!50731bd2()     
        cppdebug.dll!50731bd2()     
        cppdebug.dll!508d0138()     
        cppdebug.dll!5073deb0()     
        cppdebug.dll!5073c43a()     
        cppdebug.dll!5076bce1()     
        cppdebug.dll!508d0138()     
        cppdebug.dll!5073deb0()     
        webservices.dll!51a9daab()     
        webservices.dll!51a9f8cb()     
        webservices.dll!51a916f9()     
        webservices.dll!51a916ca()     
        webservices.dll!51a9a4dd()     
        webservices.dll!51a9a291()     
        webservices.dll!51aa17a9()     
        cppdebug.dll!508d0138()     
        ole32.dll!7694625c()     
        oleaut32.dll!766f4677()     
        ole32.dll!7694ea43()     
        msvcr110.dll!memcpy_s(void * dst, unsigned int sizeInBytes, const void * src, unsigned int count) Zeile 67 + 0x8 Bytes    C
        cppdebug.dll!508d0138()     
        kernel32.dll!760014dd()     
        cppdebug.dll!50731b93()     
        cppdebug.dll!50731b6e()     
        cppdebug.dll!5075138b()     
        cppdebug.dll!50751369()     
        msvcr110.dll!_getptd_noexit() Zeile 310 + 0x7 Bytes    C
        cppdebug.dll!5082484c()     
        cppdebug.dll!5080d74d()     
        cppdebug.dll!5080de48()     
        KernelBase.dll!74f94e68()     
        cppdebug.dll!507339a5()     
        cppdebug.dll!50731e7b()     
        cppdebug.dll!50731ec5()     
        cppdebug.dll!50731e7b()     
        cppdebug.dll!50731f89()     
        cppdebug.dll!50733bb1()     
        cppdebug.dll!5075d3b9()     
        cppdebug.dll!50760e08()     
        cppdebug.dll!50760eb3()     
        cppdebug.dll!50731922()     
        cppdebug.dll!50760e08()     
        cppdebug.dll!50760eb3()     
        cppdebug.dll!50731922()     
        cppdebug.dll!50731922()     
        cppdebug.dll!5073d674()     
        cppdebug.dll!50731922()     
        cppdebug.dll!5073193f()     
        cppdebug.dll!5073e138()     
        cppdebug.dll!508c99c4()     
        cppdebug.dll!508ce2cc()     
        cppdebug.dll!5075f053()     
        cppdebug.dll!50734742()     
        vsdebugeng.dll!51c2b5c8()     
        vsdebugeng.dll!51c17993()     
        vsdebugeng.dll!51c30f67()     
        vsdebugeng.dll!51c367e1()     
        vsdebugeng.dll!51c36881()     
        vsdebugeng.dll!51bf37a7()     
        vsdebugeng.dll!51b6ee37()     
        vsdebugeng.dll!51b6ef57()     
        kernel32.dll!7600339a()     
        ntdll.dll!777a9ef2()     
        ntdll.dll!777a9ec5()     

    Das Dumpfile ist gezipped ca. 209 MB gross. Ich habe es jetzt über MS Connect auf einen MS Server hochgeladen. Gibt es noch andere Möglichkeiten? Macht es Sinn, dass hier im Forum zu posten?


    iM++

    Donnerstag, 15. November 2012 09:56
  • Hallo inge meysel,

    Ja bitte poste auch das Dumpfile. Du kannst Skydrive für das benutzen

    Gruß,
    Ionut

    Freitag, 16. November 2012 08:43
    Moderator
  • Hallo inge meysel,

    Hast Du eigentlich Dein Problem gelöst?

    Du hast das Dumpfile nicht gepostet.

    Viele Grüße,
    Ionut

    Donnerstag, 22. November 2012 11:57
    Moderator

  • ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************
    Freitag, 23. November 2012 09:57
    Moderator
  • Nein, das Problem ist noch offen. Ich hatte diese Woche nur keine Zeit, mich darum zu kümmern. Das Dumpfile befindet sich hier: skydrive bzw. hier. Meine Vermutung ist, dass sich der Debugger beim Auslesen von Informationen verschluckt. Der Grund für diese Vermutung ist die Beobachtung, dass die IDE beim Erreichen eines Breakpoints  kurz verharrt und teilweise anfängt, erste Variablen anzuzeigen. Dabei stürzt die IDE ab und startet neu. Kann man ein Objektfile irgendwie überprüfen, ob es Debug-Informationen enthält?Ich vermute das Problem irgendwo in diesem Bereich. 


    iM++

    Freitag, 23. November 2012 15:05
  • Hallo inge_meysel,

    Visual Studio ist ein sehr "tiefgreifendes" Programm. Meistens ist es um einiges schneller den Rechner komplett zu formatieren und alles neu aufzuspielen falls du dass noch nicht getan hast. Ich hatte mal ein ähnliches Problem und hab mir daran die Zähne ausgebissen. Ich hoffe ich konnte dir etwas weiterhelfen.

    Grüße Dev

    Samstag, 1. Dezember 2012 14:21