Linuxでは、バックトレースを取得するためにbacktrace()ライブラリ呼び出しを使用できますが、現在のスレッドのバックトレースのみを返します。他のスレッドのバックトレースを取得する方法はありますか?私はそれがTID(またはpthread_t)であることを前提としています。他のスレッドのバックトレースを取得する
libunwind(http://www.nongnu.org/libunwind/)プロジェクトが役立つようです。問題は、CentOSがサポートしていないため、私はそれを使用しないことです。
他のアイデアはありますか?おかげさまで
これは私が探していたものではありませんが、これは良いアイデアです。私はそれを使うことができると思う。ありがとう! –
@Alexanderは、mallocやfreeなどの呼び出しがコールスタックである場合に、この解決方法を提供します。この場合、シグナルハンドラからbacktrace()を呼び出すことができますか?私はクラッシュしています。 – sandeep
最終的に、私はlibunwindで作業することにしました。この解決策は私の状況にとってはあまりにも複雑で、私はそれを断念することに決めました。とにかく、何とかしたら、ここに投稿してください。 –