我正在尝试调试一个标准的普通模式“对于释放的对象的错误校验和 - 在我的应用程序中释放”内存问题之后可能修改了对象。我非常熟悉找到原因的工具(guard malloc等),并且在过去的XCode UI中已经成功完成了。
但是我遇到的问题是这个内存问题只发生在xcodebuild命令行工具创建的构建中,所以我不能使用XCode UI复选框。我尝试设置复选框(在Diagnostics->内存管理下的方案中)并在我通过Xcode UI运行程序时看到效果(非常慢的性能),但遗憾的是这里不会出现问题。然后我返回并从xcodebuild构建的二进制文件运行我的程序,并且出现问题,但性能恢复正常意味着在此构建期间没有使用任何UI标志。
我在运行程序之前尝试设置一些环境变量,即:
MallocGuardEdges=YES
NSZombieEnabled=YES
MallocScribble=YES
但是当我从命令行运行它时,对我的xcodebuild构建的二进制文件仍然没有影响。
苹果文档似乎暗示我的程序需要使用GuardMalloc库支持构建,但是当我在XCode UI中设置复选框后使用xcodebuild构建我的程序时,大小没有任何不同,所以我可能需要更改一个设置其他地方以便为我的二进制文件添加支持?
更新:更正了用于设置环境变量的命令。