Pergunta

Quando trago o console depois que meu aplicativo para iPhone trave, ele geralmente diz "seletor não reconhecido enviado à instância 0x blá blá blá". Como posso descobrir qual variável essa é? Existe uma maneira no depurador? Isso é possível? Obrigado.

Foi útil?

Solução

No GDB, você pode digitar

po 0x12345678

Para imprimir o -description do objeto nesse endereço. Mas essa informação raramente é útil. Em vez disso, você deve verificar o backtrace da exceção primeiro, que pode localizar a linha de código que causa o problema.

Outras dicas

É muito útil criar um ponto de interrupção de exceção e, com o Xcode 7.3, nunca foi tão fácil. Isso ajudará você a encontrar a linha de código causando uma exceção.

enter image description here

  1. Adicione o ponto de interrupção na linha onde o aplicativo trava
  2. Clique no ponto de interrupção no menu Navigator do projeto
  3. Encontre o ponto de interrupção que você acabou de criar e selecione -o
  4. Clique no "+" na parte inferior esquerda
  5. Selecione "Adicionar ponto de interrupção de exceção"

Execute seu código ... sempre que receber um "seletor não reconhecido enviado à instância 0x blá blá blá", o depurador parará na linha que está causando o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top