我正在尝试优化iOS应用的内存使用情况,我想知道应用的总内存使用量是在代码中的特定点。我以为我应该能够设置断点,使用Activity Monitor配置应用程序,并查看每个断点捕获时的内存使用情况。但是当我运行Instruments时,似乎断点不再停止执行,因此很难确切知道内存使用何时发生变化。
是否可以同时使用断点和仪器?如果没有,是否有一种巧妙的方法来编写一些代码,以便在特定事件发生时将标记插入到仪器时间轴中?
答案 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魔法。