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

14

Jemand hat mich gebeten, einen Aufrufstapel oder eine Stapelverfolgung eines laufenden Prozesses abzurufen, damit er ihn für mich analysieren kann.

Wie kann ich diese Informationen erhalten?

Der Hochstapler
quelle

Antworten:

35
  1. Laden Sie den Process Explorer herunter .

  2. Aktivieren Sie im Menü Datei die Option Details für alle Prozesse anzeigen:

    Bildbeschreibung hier eingeben

  3. Wählen Sie im Hauptfenster den gewünschten Prozess aus:

    Bildbeschreibung hier eingeben

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

    Bildbeschreibung hier eingeben

  5. Auf der Registerkarte Threads sehen Sie eine Liste der laufenden Threads in diesem Prozess:

    Bildbeschreibung hier eingeben

  6. Wählen Sie den Thread aus, an dem Sie interessiert sind, und klicken Sie auf die Schaltfläche " Stapeln" :

    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 für die Fehlerbehebung mehr Details benötigen, ist es häufig sehr hilfreich, Debugsymbole in Process Explorer zu laden . Das ist wie:

  1. Wenn Sie noch keinen Windows-Debugger installiert haben, müssen Sie zuerst die Debugging-Tools für Windows installieren .

  2. Öffnen Sie im Prozess-Explorer im Menü " Optionen" die Option " Symbole konfigurieren" :

    Bildbeschreibung hier eingeben

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

    Bildbeschreibung hier eingeben

    Der Pfad der Symbole sollte ungefähr so ​​aussehen:

    SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
    

    Der einzige Teil, den Sie anpassen möchten, ist C:\Symbols. Dort werden die Debugging-Symbole zwischengespeichert.

Der Hochstapler
quelle
Gibt es eine Möglichkeit, alle Thread-Aufrufstapel in einer Datei abzulegen?
bgura