Por que o cancelamento de referência nula faz o crash do meu programa?

Eu escrevi o seguinte código para induzir uma falha (eu estava testando algunsproblemas com CrashReporter):

<code>int *nullp = NULL;
int val = *nullp;    
NSLog(@"Hello world %d", val);
</code>

Em um novo projeto (eu coloquei no aplicativo do delegadoapplicationDidFinishLaunching:) falha como esperado. Mas quando eu adiciono a um dos meus projetos existentes, ele não falha! Na verdade, ele acaba imprimindo "Hello world 0" no log do sistema.

Isso não faz nenhum sentido para mim. Por que a desreferência nula não causa uma falha?

questionAnswers(3)

yourAnswerToTheQuestion