我正在尝试使用pstack来打印特定进程的所有线程的堆栈跟踪,但我只得到主线程。
根据pstack描述:
pstack - 打印正在运行的进程的堆栈跟踪
...
如果进程是线程组的一部分,那么pstack将为组中的每个线程打印出堆栈跟踪。
我使用gdb附加到进程并验证有更多线程。我用一个线程id运行pstack,得到了请求的结果。
[我也使用过ps -j并看到其他进程具有相同的组ID,但我认为它不相关]
我阅读了相关的pstack问题,但没有看到任何可以帮助我的信息。还搜索了谷歌,但没有人看到有人询问它。
由于
我没有注意到这一点 "对于要转储的线程信息,您必须使用LinuxThreads libpthread.so库的调试感知版本。"
答案 0 :(得分:1)
问题出在libpthread.so库版本中。根据{{3}}: “对于要转储的线程信息,您必须使用LinuxThreads libpthread.so库的调试感知版本。”
由于我无法替换库,我将分别找到线程ID并在每个上使用pstack。 希望它会帮助某人。