我有一个进程似乎挂在solaris上,我试图使用GDB附加到进程,看看它在做什么,但没有运气。
在我看来没有任何错误,它只是坐在那里…
我可以使用其他工具或技术来查看过程卡住了什么?
Thanks for the help
暗讽
pstack <pid>
将打印该进程中的所有线程正在做的事情(完整的堆栈跟踪,包括函数名,如果您的二进制文件没有被剥离)。
truss
相当于Linux的strace
。它将显示进程正在执行的所有系统调用。它可以帮助你调试。
DTrace是一个很棒的调试瑞士军刀,它可以显示几乎任何你能想到的东西。缺点是它需要在全局区域上以root权限运行。这需要一些时间来学习,但值得花时间。
使用强大的dtrace功能。下面简要介绍如何跟踪用户进程。