Ich habe einen verwalteten Code Windows-Dienstanwendung, die gelegentlich in der Produktion wegen einer verwalteten StackOverFlowException abstürzt. Ich weiß das, weil ich adplus im Crash-Modus laufen lasse und den Absturz nach dem Tod mit SoS analysiert habe. Ich habe sogar den windbg Debugger angehängt und auf "go unhandled exception" gesetzt.Live-Debugging eines Stack-Überlaufs
Mein Problem ist, ich kann keine der verwalteten Stacks sehen oder zu einem der Threads wechseln. Sie sind alle bis zum Zeitpunkt des Debuggers abgerissen.
Ich bin kein Windbg-Experte, und, kurz vor der Installation von Visual Studio auf dem Live-System oder mit Remote-Debugging und Debugging mit diesem Tool, hat jemand irgendwelche Vorschläge, wie ich eine Stack-Trace aus dem bekommen kann anstößiger Thread?
Hier ist, was ich tue. !
fädelt
...
XXXX 11 27c 000000001b2175f0 b220 Behinderten 00000000072c9058: 00000000072cad80 0000000019bdd3f0 0 UKn System.StackOverflowException (0000000000c010d0)
...
Und an dieser Stelle sehen Sie die XXXX ID, die anzeigt, dass der Thread ziemlich tot ist.
Das ist interessant. Ich hatte nicht einmal bemerkt, dass sich das geändert hatte. Das letzte Mal, als ich eines davon hatte, war, als ich die Eigenschaft/den Member-Getter vertippte und die endlosen rekursiven Aufrufe bekam (und ich konnte sie damals fangen und debuggen). +1 für das tatsächliche Lesen der neuesten Dokumentation. –