5 Stimmen

Diagnose von Deadlocks in Win32-Programmen

Welche Schritte und Techniken gibt es, um einen offensichtlichen Stillstand aufgrund eines Deadlocks in einem Win32-Produktionsprozess zu beheben? Ich habe gehört, dass WinDbg für diesen Zweck verwendet werden kann, aber könnten Sie bitte klare Hinweise geben, wie dies erreicht werden kann?

-2voto

Dan Punkte 710

Am besten ist es, mit dem Hinzufügen von Protokollierungsanweisungen zu beginnen. Im Allgemeinen würde ich empfehlen, nur die gemeinsam genutzten Ressourcen zu protokollieren, die blockiert sind, aber auch das Hinzufügen von Logging-Anweisungen im Allgemeinen könnte auf Situationen oder Bereiche des Codes hinweisen, die Sie nicht erwartet haben. Das vielbeachtete Datenbankproblem bei stackoverflow.com stellte sich tatsächlich als log4net heraus! Das Stackoverflow-Team hatte nie einen Verdacht auf log4net und konnte dies (ironischerweise) nur durch eine Untersuchung der Protokollierung feststellen. Ich würde zunächst auf komplizierte Tools wie z.B. WinDgb verzichten, da deren Verwendung IMHO nicht sehr intuitiv ist.

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