【问题标题】:Pstack a process on OSX 10.9在 OSX 10.9 上 Pstack 一个进程
【发布时间】:2014-08-22 18:31:50
【问题描述】:

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

pstack pid>

我想知道 osx 中的等价物是什么。

谢谢

【问题讨论】:

    标签: linux macos osx-mavericks


    【解决方案1】:
    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。

    【讨论】:

    • 你是如何获得stackshot的?它似乎不在我的环境中(El Capitan)
    • 我观察到的不同之处在于,这个“lldb”命令将终止您正在观察的 pid,而 pstack 不会。
    猜你喜欢
    • 2014-08-23
    • 2013-06-23
    • 1970-01-01
    • 2013-11-30
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 2014-09-25
    相关资源
    最近更新 更多