多线程应用程序挂起,它没有响应任何命令。我试过没有运气的事情:
有没有什么好方法可以调试这个过程?
答案 0 :(得分:6)
感谢您的回复。问题出在内核级别。我们用echo t> / proc / sysrq-trigger,它记录/ var / log / messages中所有正在运行的进程的堆栈。这个堆栈跟踪有助于分析问题。
从堆栈跟踪中,文件系统代表应用程序进程向其他进程(处于已关闭状态)发布了一些等待事件,并无限期地等待响应。这导致了悬挂状态。
答案 1 :(得分:1)
很可能其他人已经在追踪这个过程。要找出谁在做它,请查看proc文件系统。
cat /proc/6026/status|grep TracerPid