Я написал следующий код, чтобы вызвать сбой (я тестируя некоторые issues с CrashReporter):Почему не происходит разыменование нулевой ошибки моей программы?
int *nullp = NULL;
int val = *nullp;
NSLog(@"Hello world %d", val);
В новом проекте (я положил его в приложение делегата applicationDidFinishLaunching:
) он выходит из строя, как и ожидалось. Но когда я добавляю его в один из моих существующих проектов, он не падает! Фактически, он заканчивает печать «Hello world 0» в системном журнале.
Это не имеет никакого смысла для меня. Почему нулевое разыменование не вызывает сбоев?
Другие варианты вызывает сбой, если вы нуждаетесь в них: [Make C аварии без литья] (HTTP://stackoverflow.com/questions/5556183/make-c-crash-without-casting) –