3 Stimmen

Bitte übersetzen Sie dies, wobei die gleichen HTML-Tags beibehalten werden, wenn sie vorhanden sind, von en nach de: Skripting WinDBG, um jedes Mal einen Aufrufstapel aufzunehmen, wenn es

Wir betreiben eine Anwendung, die zufällig ein von uns geschriebener Webserver ist, und wir haben einige böse Probleme nur in der Produktion festgestellt. Deshalb werden wir das für etwa 12 Stunden unter WinDBG laufen lassen und jedes Mal, wenn etwas schief geht, die Callstacks überprüfen.

Manchmal bricht es wegen einer unbehandelten Ausnahme ab, und manchmal treffen wir auf eine Behauptung, an der Stelle, an der unser Code sagt, wenn er unter einem Debugger läuft, anhalten.

Ist es möglich, sich in WinDBG so einzuhaken, dass es sofort einen Callstack erstellt, wenn etwas schief geht, und sofort weitermacht?

3voto

mjsabby Punkte 1199

Das Anhängen eines Debuggers an eine Produktionsbox kann katastrophal sein, (a) Leistung (b) unerwartete Unterbrechungen im Debugger

Zur Sicherheit stellen Sie auf jeden Fall sicher, dass Sie alle Ausnahmen deaktivieren, die Sie nicht interessieren oder bei denen Sie nicht in den Debugger einsteigen möchten.

sxd *

Dann wählen Sie diejenigen aus, die Sie auf irgendeine Weise behandeln möchten (Aufrufliste nehmen und weitermachen)

sxe -c "kb;g" bpe
sxe -c "kb;g" asrt
sxe -c "kb;g" eh

Der erste ist ein Breakpoint-Ausnahmebehandler, Assert-Fehler und C++ EH-Ausnahme.

Es gibt eine große Liste von dem, was Ihr Debugger unterstützt, zum Beispiel, wenn Sie SOS.dll (die CLR-Erweiterung für WinDBG) laden, dann werden Sie in der Lage sein zu

sxe -c "kb;g" clr

Für verbindliche Informationen zu den Arten von Ausnahmen/Ereignissen, die Sie potenziell filtern können, sehen Sie im WinDbg-Hilfe nach (suchen nach sxe)

0voto

whunmr Punkte 2395

Versuche

sxe -c "kb;g" -h wkd

und

sxe -c "kb;g" -h eh

Suche im Hilfe-Dokument von windbg nach mehr verwandten Informationen zum Thema Controlling Exceptions and Events.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X