自动释放池页面已损坏

时间:2013-04-01 13:16:05

标签: iphone ios xcode asihttprequest nsautoreleasepool

每当我使用ASIHTTPRequest进行webservice调用时,我随机都会遇到以下崩溃:

autorelease pool page 0x9418000 corrupted  
  magic a1a1a100 4f545541 454c4552 21455341  
  pthread 0xb0103000 

我的代码是ARC-fied,并使用-fno-objc-arc作为ASIHTTP类的.m文件。

有人对此有所了解,还是之前有人遇到过这类问题?提前谢谢!

2 个答案:

答案 0 :(得分:3)

这可能表明你在其他地方踩踏记忆。我首先打开memory diagnostics并寻找错误。导致这类错误的最可能的地方是C代码,特别是在使用C数组或C字符串时。您可能在分配的内存之外写入,或者在释放后写入内存。

有时compiler bugs会导致这类问题,但这些问题非常罕见,我强烈怀疑您的代码是第一位的。

答案 1 :(得分:0)

正如罗布所指出的,这可能表明你在其他地方滥用了记忆。从Xcode 8开始打开内存管理诊断程序:

  • 点击Xcode中的方案菜单,然后选择"编辑方案..."在底部。
  • 在“运行”步骤中,转到“诊断”选项卡。
  • 在“内存管理”下,启用所有四个选项。我通常会发现Guard Malloc能够发现最多的问题,但它们都很有用。