使用pstack打印所有线程堆栈跟踪

时间:2014-10-30 13:40:11

标签: linux multithreading pstack

我正在尝试使用pstack来打印特定进程的所有线程的堆栈跟踪,但我只得到主线程。

根据pstack描述:
pstack - 打印正在运行的进程的堆栈跟踪
...
如果进程是线程组的一部分,那么pstack将为组中的每个线程打印出堆栈跟踪。

我使用gdb附加到进程并验证有更多线程。我用一个线程id运行pstack,得到了请求的结果。
[我也使用过ps -j并看到其他进程具有相同的组ID,但我认为它不相关]

我阅读了相关的pstack问题,但没有看到任何可以帮助我的信息。还搜索了谷歌,但没有人看到有人询问它。

由于


我没有注意到这一点 "对于要转储的线程信息,您必须使用LinuxThreads libpthread.so库的调试感知版本。"

1 个答案:

答案 0 :(得分:1)

问题出在libpthread.so库版本中。根据{{​​3}}: “对于要转储的线程信息,您必须使用LinuxThreads libpthread.so库的调试感知版本。”

由于我无法替换库,我将分别找到线程ID并在每个上使用pstack。 希望它会帮助某人。