Jemand bat mich, einAufruflisteoderStapelüberwachungeines laufenden Prozesses, damit er ihn für mich analysieren konnte.
Wie kann ich diese Informationen erhalten?
Antwort1
ErhaltenProcess Explorer.
AktivierenDetails für alle Prozesse anzeigenvon demDateiSpeisekarte:
Wählen Sie im Hauptbereich den Prozess aus, der Sie interessiert:
Öffnen Sie das Kontextmenü (Rechtsklick) für den ausgewählten Prozess und klicken Sie aufEigenschaften:
Auf derThemenkönnen Sie eine Liste der laufenden Threads innerhalb dieses Prozesses sehen:
Wählen Sie den gewünschten Thread aus und klicken Sie aufStapelTaste:
Der Process Explorer zeigt nun den aktuellen Aufrufstapel für den ausgewählten Thread an:
Symbole
Wenn Sie bei der Fehlerbehebung mehr Details benötigen, ist es oft sehr hilfreich, das Debugging-Tool zu laden.Symbolein Process Explorer. So geht's:
Wenn Sie noch keinen Windows-Debugger installiert haben, müssen Sie denDebugging-Tools für WindowsErste.
Öffnen Sie im Process ExplorerSymbole konfigurieren...von demOptionenSpeisekarte:
Wenn Sie die Debugging Tools (oder einen anderen Windows-Debugger) installiert haben, findet Process Explorer die
dbghelp.dll
Datei automatisch. Andernfalls geben Sie hier den richtigen Pfad ein.DerSymbolpfadsollte ungefähr so aussehen:
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Der einzige Teil, den Sie anpassen möchten, ist
C:\Symbols
. Dies ist der Speicherort, an dem die Debugsymbole zwischengespeichert werden.
Antwort2
Wenn Sie einen Stapel von CLR-Prozessen benötigen, können Sie ProcInsp verwenden (ich bin der Entwickler, das Tool kann kostenlos verwendet werden).
- InstallierenProcInsp
- Suchen Sie den Vorgang, der Sie interessiert, und klicken Sie darauf
- Klicken Sie auf den Thread (beachten Sie, dass ProcInsp den Einstiegspunkt der App als Namen des Threads anzeigt – es überspringt alle Frames der .net-Infrastruktur)
- Der Stapelüberwachungsplan mit hervorgehobenem Einstiegspunkt wird angezeigt