fut*_*te7 6 iphone valgrind ios-simulator
由于在我的iOS程序中看到随机内存崩溃,我决定使用Valgrind帮助解决问题,因为他们有一个在32位mac OS X上运行的端口.我按照此网页中的说明进行设置Valgrind在iPhone模拟器上:
http://landonf.bikemonkey.org/code/iphone/iPhone_Simulator_Valgrind.20081224.html
但是,虽然我可以让程序在iOS模拟器中编译,并且预处理程序标志设置,但我无法让Valgrind实际运行我的程序.它总是退出并出现以下错误:
valgrind: /Users/megahub/Library/Application Support/iPhone Simulator/4.2/Applications/6FD1FFF3-0EFB-4D81-A95A-F02E0AA9095E/QuamStockAdHoc.app/QuamStockAdHoc: cannot execute binary file
cannot execute binary file
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我已经验证了可执行文件存在于该路径中,因为我可以在模拟器中运行它而不使用Valgrind.
Dun*_*ern -4
为什么首先要使用 valgrind?您有 NSZombie 和朋友以及带有泄漏检查器的 Instruments。
如何设置:
或者为了更多的控制:
在主目录中创建一个名为“.gdbinit”的新文件(注意前面的点),其中包含以下内容:
fb -[NSException raise]
fb -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:]
fb -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
set env MallocHelp=YES
set env NSZombieEnabled=YES
set env NSDallocateZombies=NO
set env MallocCheckHeapEach=100000
设置环境 MallocCheckHeapStart=100000
设置环境 MallocScribble=YES
设置环境 MallocGuardEdges=YES
设置环境 MallocCheckHeapAbort=1
设置环境 CFZombie 5
fb -[_NSZombie init]
fb -[_NSZombie keepCount]
fb -[_NSZombie 保留]
fb -[_NSZombie发布]
fb -[_NSZombie autorelease]
fb -[_NSZombie methodSignatureForSelector:]
fb -[_NSZombie respondsToSelector:]
fb -[_NSZombieforwardInspiration:] fb -
[_NSZombie class]
fb -[_NSZombie dealloc]
fb szone_error
如果您在标准调试器中运行您的应用程序,现在它会在出现每个内存错误时停止。如果启动调试并观察控制台,您可以看到如果显示长内存调试器帮助文本,它是否有效。