2

ウィンドウと、ユーザーがボタンをクリックすると開くウィンドウコントローラーがあります。EXC_BAD_ACCESS(code = 1、address = 0x0)を取得することがあります。

0x7fff6f2a59e0:  movq   (%rax), %rdi

コードは次のとおりです。

    ChooseProceduresWindowController *chooseProceduresWindowController = [[ChooseProceduresWindowController alloc] initWithWindowNibName:@"ChooseProceduresWindow"];
    [NSApp runModalForWindow:[chooseProceduresWindowController window]];

エラーが表示され、runModalForWindow:が呼び出されます。毎回このエラーが発生するわけではありませんが、パターンが見つかりませんでした。

ありがとう

4

2 に答える 2

3

EXC_BAD_ACCESSエラーをデバッグする最良の方法は、 を使用することNSZombiesです。

説明については、このビデオをご覧ください。

http://youtu.be/LQtPr8bkB3g

NSZombieすでにリリースされているオブジェクトをリリースしようとしているときに、すべてのオブジェクトをメモリに保持するため、バグの発見に近づくことができます。@Mark Hが言ったように、これはメモリ管理の問題です。

NSLogまた、実行時に何が割り当て解除されているかをよりよく理解するために、dealloc メソッドに入れることもできます。

于 2014-01-13T14:18:23.760 に答える
1

オブジェクトがメモリに存在しない場合、そのエラーがスローされます。メモリ管理の問題を探し始めます。1 つ目は、使用後に ChooseProceduresWindowController を解放していることを確認することです。

于 2012-06-16T15:34:04.850 に答える