0

我正在使用 XCode 4.3.1,最近几天调试我的应用程序时发生了一些奇怪的事情。

这是代码:

-(void) init 
{
    list = [[NSMutableArray alloc]init]; // list is declared in the header
}

-(void) dosomething 
{
   [self init];

   // strangely the debugger shows "list" is still null here 

   [list addObject: something]; 

   // but it happily steps over the above line without adding anything to the list
}

另一个问题(代码中的其他地方)是有时调试器决定跳转几行(好像它切换到另一个线程但只有一个线程)

最糟糕的部分是有时当我跳过代码时,它甚至会向后退几行,然后再向前。

我试图切换到 GDB 但无济于事。有没有人遇到过这些问题?

顺便说一句,在这些事情开始发生之前,我正在做一些分析以发现内存泄漏

4

1 回答 1

0

问题是您正在使用编译优化运行您的项目,可能是因为您在发布模式下调试它;或者因为某些原因,您在调试模式下的项目设置中定义了一些编译优化。检查您的 XCode 控制台中是否有以下消息:

[Project Name] was compiled with optimization - stepping may behave oddly; variables may not be available.

如果是,请阅读以下内容:“项目名称”是经过优化编译的 - 步进可能会表现得很奇怪;变量可能不可用

于 2016-10-05T09:42:37.470 回答