是否可以在启用断点的情况下使用XCode的仪器?

时间:2011-10-28 16:38:26

标签: ios xcode instruments breakpoints

我正在尝试优化iOS应用的内存使用情况,我想知道应用的总内存使用量是在代码中的特定点。我以为我应该能够设置断点,使用Activity Monitor配置应用程序,并查看每个断点捕获时的内存使用情况。但是当我运行Instruments时,似乎断点不再停止执行,因此很难确切知道内存使用何时发生变化。

是否可以同时使用断点和仪器?如果没有,是否有一种巧妙的方法来编写一些代码,以便在特定事件发生时将标记插入到仪器时间轴中?

2 个答案:

答案 0 :(得分:9)

我今天也遇到了这个问题,经过一番搜索后我发现了这个解决方案。以下文字是帖子的引用:

  

断点不会中断。 Instruments利用来自的调试信息   但是,您的调试版本不会在您设置的断点处停止。   这是因为在您加载应用程序时   从XCode菜单中的仪器,仪器只使用路径   当前可执行文件作为其起始路径并从外部加载它   来自XCode。 XCode中的菜单确实非常方便   机制。这不是什么大问题,因为你总是可以在Debug中再次运行   您的乐器会话之后的模式是否需要您的应用程序   打破。这只是需要注意的事情。

     

NSLog语句不会在调试器控制台中显示。如果您愿意   看到你的NSLog语句,你需要加载系统控制台   应用程序(/ Applications / Utilities / Console)。

参考:http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

答案 1 :(得分:1)

好吧,你没有在调试器的控制下运行。

一种方法可能是在关键点添加警报,然后(手动)拍摄快照。

或者可能有一些dtrace魔法。