[英]How to debug a multithreaded hung process in Linux?
多线程应用程序挂起,它没有响应任何命令。 我试过没有运气的事情:
有没有什么好方法可以调试这个过程?
感谢您的回复。 问题出在内核级别。 我们使用了echo t> / proc / sysrq-trigger,它记录了/ var / log / messages中所有正在运行的进程的堆栈。 此堆栈跟踪有助于分析问题。
从堆栈跟踪,文件系统代表应用程序进程将一些等待事件发布到其他进程(处于已关闭状态)并无限期地等待响应。 这导致挂状态。
很可能其他人已经在追踪这个过程。 要了解谁在做它,请查看proc文件系统。
cat /proc/6026/status|grep TracerPid
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.