【发布时间】:2011-07-07 06:09:09
【问题描述】:
我想使用 MallocStackLogging 调试的 iPhone 应用程序存在内存问题。该错误涉及陀螺仪,因此我必须在设备上而不是模拟器上进行调试。
我已经设置了MallocStackLogging环境变量,iPhone正确记录了mallock堆栈日志:
MyApp(1856) malloc: recording malloc stacks to disk using standard recorder
MyApp(1856) malloc: stack logs being written into /private/var/mobile/Applications/1FD1F8D2-5D30-4AA7-B426-C52FE20266DE/tmp/stack-logs.1856.MyApp.index
MyApp(1856) malloc: Please issue: cp /private/var/mobile/Applications/1FD1F8D2-5D30-4AA7- B426-C52FE20266DE/tmp/stack-logs.1856.MyApp.e8z3IL.link /tmp/
现在我该如何与他们合作?
我可以使用 Xcode Organizer 将它们传输到 Mac。但是我应该如何处理这两个文件呢?
- stack-logs.1856.MyApp.index
- stack-logs.1856.MyApp.e8z3IL.link
我尝试在 Mac 上移动 /tmp 中的文件并调用:
$ malloc_history 1856 -all_events
malloc_history cannot examine process 1856 because the process does not exist.
很明显,malloc_history 命令在本地机器上寻找正在运行的进程。我缺少手动指定日志文件的选项。
有没有什么方法可以直接在(非越狱)设备上使用 Xcode 或在将日志传输到 Mac 后使其正常工作?
【问题讨论】:
-
我在模拟器上遇到了同样的问题。期待在这里得到来自 ppl 的一些回复。顺便说一句,我点击了这个链接 - numbergrinder.com/node/53
-
我环顾四周,为自己尝试了...看起来您不能,我不知道如果您无法读取日志文件有什么好处... shell in the调试器不好,因为那不是设备上的外壳,而是您的本地 bash ......虽然被剥离了......我试图将日志文件导入仪器,没有骰子。
-
我开始相信 malloc_history 只有在您的应用程序在模拟器上运行时才有效。应用何时在设备上运行我认为没有办法将 malloc_history 指向设备。
标签: iphone xcode debugging malloc-history