jstackは、実行中のプロセスのスタックトレースをチェックするのに非常に役立ちます。
このタスクを実行するためのC++のツールはありますか。Solaris/GCCコンパイラを使用しています。
実際、GDB/DBXはそれを行うことができます。しかし、私のプロセスは非常にまれにそれを時々ぶら下げています。だから、それがぶら下がっているとき、私はそれがどこで間違っているのか知りたいです。ライブでそれを追跡するだけです。
ありがとうDLクマール
賃借人...solarisではgdbを使用できません...あなたが探しているのは「pstack」だと思います私のsolaris 8システムでは、次の場所にあります
/usr/bin/pstack
usage: pstack [-F] { pid | core } ...
と
man pstack
は、診断に非常に役立つ関連ツールの優れたリストを示しています。
数年前、DDJでWindowsとUnix/Linuxを使用してC/C++でスタックをダンプすることについての記事を書きました。多分それはあなたを助けます:
Solaris で実行していて、GDB を使用したくないことを考えると、DTrace が残りの解決策であることは明らかです。
しかし、間違った理由で GDB を却下しているのではないでしょうか? GDB を既存のハングしているプロセスにアタッチできます。