2013-04-01 37 views
7

每当我使用ASIHTTPRequest制作web服务呼叫我随机得到以下崩溃:自动释放池页面损坏

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

我的代码是ARC-田间和-fno-objc弧的.m文件中使用ASIHTTP类。

有没有人有这方面的想法,或者有没有人面对过这种问题?提前致谢!

+1

我希望'-fno-objc-arc'不是'-fno -objc -arc' – newacct

回答

3

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

有时会有compiler bugs会导致这种问题,但这些非常罕见,我会首先强烈怀疑您的代码。

0

正如Rob指出的,这可能表明您在其他地方误用了内存。从Xcode 8开始启用内存管理诊断:

  • 单击Xco​​de中的方案菜单,然后选择底部的“编辑方案...”。
  • 在运行步骤中,转至诊断选项卡。
  • 在内存管理下,打开全部四个选项。我通常会发现Guard Malloc能够发现最多的问题,但它们都可以发挥作用。