在Linux中,我可以使用echo t > /proc/sysrq-trigger
来转储系统中所有线程的内核调用堆栈。如何在Mac OS X中打印内核调用堆栈
Mac OS X中是否有任何方法用于相同目的?或任何方法来转储一个进程的内核堆栈?
在Linux中,我可以使用echo t > /proc/sysrq-trigger
来转储系统中所有线程的内核调用堆栈。如何在Mac OS X中打印内核调用堆栈
Mac OS X中是否有任何方法用于相同目的?或任何方法来转储一个进程的内核堆栈?
答案可能是dtrace。我知道Instruments.app(或iprofiler)可以执行基于探测的分析,因此它需要定期的堆栈跟踪。 (用户或内核;您的选择)据我所知,这些都是基于dtrace的,尽管我不能很好地告诉你一种采用一次性跟踪的方法。
嗯......我没有在Mac OS X上进行代码测试。但名称为'stackshot'的工具可以帮助你做到这一点。尝试谷歌它获得使用。 :-)