Wie kann ich den Aufrufstapel eines laufenden Prozesses/Threads anzeigen?

Wie kann ich den Aufrufstapel eines laufenden Prozesses/Threads anzeigen?

Jemand bat mich, einAufruflisteoderStapelüberwachungeines laufenden Prozesses, damit er ihn für mich analysieren konnte.

Wie kann ich diese Informationen erhalten?

Antwort1

  1. ErhaltenProcess Explorer.

  2. AktivierenDetails für alle Prozesse anzeigenvon demDateiSpeisekarte:

    Bildbeschreibung hier eingeben

  3. Wählen Sie im Hauptbereich den Prozess aus, der Sie interessiert:

    Bildbeschreibung hier eingeben

  4. Öffnen Sie das Kontextmenü (Rechtsklick) für den ausgewählten Prozess und klicken Sie aufEigenschaften:

    Bildbeschreibung hier eingeben

  5. Auf derThemenkönnen Sie eine Liste der laufenden Threads innerhalb dieses Prozesses sehen:

    Bildbeschreibung hier eingeben

  6. Wählen Sie den gewünschten Thread aus und klicken Sie aufStapelTaste:

    Bildbeschreibung hier eingeben

  7. Der Process Explorer zeigt nun den aktuellen Aufrufstapel für den ausgewählten Thread an:

    Bildbeschreibung hier eingeben

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:

  1. Wenn Sie noch keinen Windows-Debugger installiert haben, müssen Sie denDebugging-Tools für WindowsErste.

  2. Öffnen Sie im Process ExplorerSymbole konfigurieren...von demOptionenSpeisekarte:

    Bildbeschreibung hier eingeben

  3. Wenn Sie die Debugging Tools (oder einen anderen Windows-Debugger) installiert haben, findet Process Explorer die dbghelp.dllDatei automatisch. Andernfalls geben Sie hier den richtigen Pfad ein.

    Bildbeschreibung hier eingeben

    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).

  1. InstallierenProcInsp
  2. Suchen Sie den Vorgang, der Sie interessiert, und klicken Sie darauf Liste der Prozesse
  3. 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) Liste der Themen
  4. Der Stapelüberwachungsplan mit hervorgehobenem Einstiegspunkt wird angezeigt Stapeltrace

verwandte Informationen