我有一个用户抱怨说,我的应用程序需要大量的CPU时间,它应该是空闲的。这是Mac OS Leopard上的Cocoa应用程序。我喜欢做的是有一个后台线程定期抓取主线程的堆栈跟踪并记录它们。或者,如果我可以让他运行一个命令行程序来抓取所有线程的堆栈(或者更好的是,具有CPU分析信息的调用图),他可以做到这一点,并向我发送结果。我知道XCode内置了CPU配置文件,但这个问题只能在用户的机器上重现,所以XCode不是一个选项(我不想让他安装它)。中央处理器剖析可可应用程序在现场
我找不到一个可以在OSX上转储堆栈跟踪的命令行工具,也不能找到访问其他线程堆栈的API。我猜GDB可以做到这一点,但这很难向用户解释。
这很完美。谢谢,凯文! – George 2010-08-09 23:07:37