Fragensteller
Debugger crashs when hitting a breakpoint

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
Alle Antworten
-
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 stabilIn 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.
-
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
-
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!
-
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.
-
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
-
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.
-
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 -
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?
-
Hallo inge meysel,
Hier findest Du mehrere Infos
http://blogs.msdn.com/b/cobold/archive/2010/03/01/collection-crash-dumps.aspx
Kannst Du auch Report.wer schicken?
Gruß,
Ionut- Bearbeitet Ionut DumaModerator Dienstag, 13. November 2012 13:54
-
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++
-
****************************************************************************************************************
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.
**************************************************************************************************************** -
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++
-
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