Xcode解决消毒剂实际警告的问题是什么?

时间:2015-09-17 07:00:17

标签: objective-c c xcode7

Xcode 7有一项名为地址清理程序的新功能,该功能在release notes中引入,并附有以下简短说明:

  
      
  • 地址清理程序指出可能在运行时崩溃的代码,即使您无法自我复制
  •   

除了具有讽刺意味的措辞之外,我认为这里的意思是地址消毒剂应该检测(不可再现的)可能导致访问违规或其他致命应用程序错误的问题。

Apple Developer添加了更多信息,清楚地表明这是一个诊断工具(不是编译器功能),旨在在调试时捕获内存损坏问题。

我自己做了一些测试,但无法将一段代码放在一起,以便在运行时触发地址消毒剂。有人可以给我一个例子吗?我正在寻找C中的样本,但客观C也可以。

1 个答案:

答案 0 :(得分:4)

Here is more information关于地址消毒剂,这是一个简单的测试:

char test()
{
    char buffer[4] = { 9, 8, 7, 6 };
    unsigned index = 4;
    return buffer[index];
}