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?
Antwort
Zu viele Anzeigen?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.
- See previous answers
- Weitere Antworten anzeigen