设置malloc_error_break断点调试
问题描述:
我在这里得到错误:设置malloc_error_break断点调试
[self.points addObject:@{@"latt":
[NSNumber numberWithFloat:(latitudeString.floatValue)],@"long": [NSNumber numberWithFloat:(longitudeString.floatValue]}];
像这样:malloc的:*错误对象0x7f8480743a00:被释放的指针没有被分配 *设置malloc_error_break到断点调试
后在断点导航符号断点添加malloc_error_break得到同样的错误
答
对于这种内存错误,ASAN(地址清理器)通常是一个有用的工具。它测试你的代码,以便它可以在发生的地方捕获不正确的malloc的使用,而不是稍后它们炸毁的时候。它记录给定地址的免费事件分配的历史记录,例如,如果您有双倍免费的话,它会向您显示两个空闲点。
您可以通过编辑Xcode中的运行方案,打开Diagnostics选项卡并打开Address Sanitizer打开此项。这将需要重新构建,并且测试后的二进制文件将运行得稍慢一些,但通常不会太慢,以至于无法使程序进入失败点。
再次使用异常断点此错误的malloc后:***错误对象0x7ff02c3af000:双自由 ***设置malloc_error_break断点 – Naresh
是否使用ARP调试 (LLDB)? –
不使用ARP,我不知道什么是ARP – Naresh