Linux x64 で、できるだけ侵襲的で影響が少ない方法で、既に実行中のプロセスのすべてのスレッドにわたってスタック トレースを取得するにはどうすればよいですか?
今まで考えたこと:
- gdb - プロセスが遅くなりすぎて、時間がかかりすぎるのではないかと心配しています。
- strace+ - どのようなパフォーマンスがあるのかわからない、経験のある人はいますか? それでも、IIUC は syscall のみをトレースし、各スレッドが syscall に入るとは期待できません。具体的には、いくつかのスレッドが既にハングしている可能性があります。
- クラッシュを強制してコアダンプを取得します-ええ...簡単にそれができれば、おそらくすでにデバッグに忙しいでしょう...この質問の目的のために、部屋に象がいないと仮定しましょう.かなりお願いします...