2009-04-09 12 views
1

jstack ist mir sehr hilfreich bei der Überprüfung von Stack Spuren von live laufenden Prozessen.jstack gleichwertig in C++

Gibt es ein Werkzeug in C++, um diese Aufgabe zu erledigen. Ich arbeite mit Solaris/GCC-Compilern.

Eigentlich kann GDB/DBX das tun. Aber mein Prozess hängt manchmal sehr selten. Wenn das hängt, möchte ich wissen, wo es falsch läuft. Verfolge das nur live.

Dank DL Kumar

Antwort

1

Ich glaube, dass GDB auch diese Fähigkeit hat, GDB Dokumentation für die gleiche

+0

Eigentlich kann GDB/DBX das tun. Aber mein Prozess hängt manchmal sehr selten. Wenn das hängt, möchte ich wissen, wo es falsch läuft. –

1

Betrachtet man unter Solaris laufen, lesen, und Sie wollen nicht GDB verwenden, scheint DTrace die offensichtliche verbleibende Lösung.

Aber vielleicht entschuldigen Sie GDB aus den falschen Gründen? Sie können GDB an bestehende hängende Prozesse anhängen.

3

Mieter ... auf solaris, nicht gdb verwenden können ... Ich denke, was Sie suchen ‚pstack‘ Auf meinem solaris 8-System ist es sich befindet bei

/usr/bin/pstack 
usage: pstack [-F] { pid | core } ... 

und

man pstack 

zeigt eine schöne Liste der zugehörigen Werkzeuge, die Sie sehr nützlich bei der Diagnose finden.