我试图使用p堆栈打印特定进程的所有线程的堆栈跟踪,但我只得到主线程。
根据p堆栈描述:
打印正在运行的进程的堆栈跟踪。
..。
如果进程是线程组的一部分,则p堆栈将为组中的每个线程打印堆栈跟踪。
我使用gdb附加到进程,并验证了有更多的线程。我使用一个线程id运行p堆栈,并得到所请求的结果。
[我还使用了ps -j,并看到了具有相同组id的其他进程,但我认为这与此无关]
我读过相关的问题,但没有看到任何可以帮助我的东西。也搜索了谷歌,但没有看到任何人问起它。
谢谢
我没有注意到“要转储线程信息,您必须使用LinuxThreads libpthread.so库的调试版本。”
发布于 2014-11-04 07:16:35
问题在libpthread.so库版本中。根据pages/pstack1.html:“要转储线程信息,必须使用LinuxThreads libpthread.so库的调试版本。”
由于无法替换库,所以我将分别查找线程ids,并在每个线程ids上使用p堆栈。希望它能帮到别人。
https://stackoverflow.com/questions/26654574
复制相似问题