我在xcode中使用gdb调试iphone应用程序。
据说,我应该可以使用以下命令:
info malloc <0xaddress>
见 http://www.friday.com/bbum/2010/01/10/using-malloc-to-debug-memory-misuse-in-cocoa/ 和strange GDB error unable to trace
我有env vars MallocStackLoggingNoCompact = 1和NSZombieEnabled = YES设置(通过xcode中的可执行文件)。
然而,我得到了这个:
2010-10-03 21:29:01.366 memleaktest[10881:307] *** -[one release]: message sent to deallocated instance 0x1646b0
(gdb) info malloc 0x1646b0
Undefined info command: "malloc 0x1646b0". Try "help info".
运行此命令我缺少什么? (xcode 3.2.4和iphone SDK 4.1)
答案 0 :(得分:3)
事实证明,你只能在模拟器中调试malloc,而不是在设备上调试。
答案 1 :(得分:1)
要确保正在写入日志,请在调试器控制台中看到以下消息:
malloc: stack logs being written into /tmp/stack-logs.xxxx.MyApp.xxxxxx.index
现在你应该能够:
(gdb) info malloc 0x1646b0
答案 2 :(得分:0)
遇到同样棘手的问题,找到任何可行的方法?这种崩溃只发生在设备而非模拟器中。