在linux上,为了查看给定时间的进程堆栈,我们通常使用

pstack <pid>

我想知道osx中的等效功能是什么。

谢谢

最佳答案

sudo /usr/libexec/stackshot -i -u -p <pid>

这会将有关进程的所有线程的堆栈跟踪附加到文件/Library/Logs/stackshot-syms.log中。考虑在调用stackshot之前删除文件stackshot-syms.log。另请:stackshot(1)

注意:OS X 10.11 EL Capitan不再包含stackshot。
改用lldb调试器:
echo "thread backtrace all" | lldb -p <pid>

lldb是命令行开发人员工具的一部分。如果您的计算机上没有lldb,则弹出窗口将帮助您安装XCode。

关于linux - 在OSX 10.9上Pstack一个进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24523118/

10-12 05:41