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
}

もう 1 つの問題 (コードの別の場所) は、デバッガーが複数の行をジャンプすることを決定することがあります (別のスレッドに切り替えたが、スレッドが 1 つしかないかのように)。

最悪の部分は、コードをステップオーバーすると、数行戻ってから再び進むことさえあります。

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 に答える