2009-04-09 12 views
1

jstackは、実行中のプロセスのスタックトレースをチェックする際に非常に役に立ちます。jstackはC++で同等です

このタスクを実行するためのツールはC++にありますか?私はSolaris/GCCコンパイラで作業しています。

実際、GDB/DBXはこれを実行できます。しかし、私のプロセスは何度かぶら下がっています。それがぶら下がっているとき、私はどこが間違っているのか知りたい。ライブでそのトラックを追跡するだけです。

おかげ DLクマール

答えて

1

私はあなたがSolaris上で実行されている、とあなたはGDBを使用したくない考慮すると、同じ

+0

実際、GDB/DBXはこれを実行できます。しかし、私のプロセスは何度かぶら下がっています。それがぶら下がっているとき、私はどこが間違っているのか知りたい。 –

1

ためにGDBのマニュアルを参照してください、GDBは、あまりにもその能力を持っていると信じて、DTraceは思えます明らかな残りの解決策。

しかし、間違った理由でGDBを却下しているのでしょうか? GDBを既存のハングするプロセスにアタッチすることができます。

1

私は数年前にWindowsとUnix/LinuxでC/C++のスタックをDDJでダンプする記事を書いた。多分それはあなたを助けます:

は、賃借人は... Solaris上で、GDBを使用することはできませんhttp://www.ddj.com/architect/185300443

3

を参照してください...私は、あなたが探していることは、それが置かれています 8私のSolaris上でシステムのpstackの "だと思います

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

man pstack 

であなたが診断に非常に有用かもしれ関連ツールの素敵なリストを示しています。