Ловля EXC_BAD_ACCESS - PullRequest
       1

Ловля EXC_BAD_ACCESS

0 голосов
/ 03 мая 2011

Я написал этот код в конце долгого дня:

MyObject *thisObj;
// ... lots of code here ...
thisObj.name = @"test"; // Which caused an EXC_BAD_ACCESS as I hadn't alloc / init'd thisObj.

Мне потребовались целую вечность, чтобы понять, что я забыл инициализировать объект, поэтому мне было интересно - есть ли способ пойматьэтот.Я пытался установить NSZombie, но это, похоже, ничего не дало.

1 Ответ

5 голосов
/ 03 мая 2011

Никогда не объявляйте переменную, не инициализируя ее каким-либо значением. Даже

MyObject *thisObj = nil;

лучше

MyObject *thisObj;

Вероятно, вы можете включить флаг компилятора, чтобы предупредить вас об этом.

EDIT:

Да, вы можете использовать -wuninitialized -O (заглавная O, а не 0), чтобы получить это:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...