【发布时间】:2010-10-11 09:48:44
【问题描述】:
我正在 iPhone 上运行带有泄漏的调试版本。我想在某些点打破,看看是否已经发生了特定的泄漏。这将使我能够通过消除过程缩小发生泄漏的范围。但是,当 Leaks 运行时,调试器会被忽略。有什么建议吗?
【问题讨论】:
标签: iphone xcode debugging memory-leaks
我正在 iPhone 上运行带有泄漏的调试版本。我想在某些点打破,看看是否已经发生了特定的泄漏。这将使我能够通过消除过程缩小发生泄漏的范围。但是,当 Leaks 运行时,调试器会被忽略。有什么建议吗?
【问题讨论】:
标签: iphone xcode debugging memory-leaks
像往常一样在调试模式下运行,然后单独运行 Leaks。您可以使用应用程序窗口顶部的默认目标下拉列表将泄漏附加到正在运行的应用程序。只需选择与您的 iPhone 应用程序同名的进程(即屏幕截图中的 PushAndPop)。
Leaks screenshot http://www.17feet.com/external/screen_leaks.png
【讨论】:
一种快速的方法:打开 Terminal.app,运行“ps axwww | grep Simulator/User/Applications | grep -v grep”(不带引号),第一个数字是 PID(您正在运行的进程 ID应用程序),然后运行“泄漏 PID”(不带引号并将 PID 替换为上一个命令得到的第一个数字)
【讨论】:
如果您首先在调试模式下启动它 (cmd-Y),然后您可以打开 Instruments 并选择 Leaks 模板并附加到您正在运行的 iPhone 应用程序进程中。
【讨论】: