Como encontrar a instância por hexadecimal no console Xcode?
-
25-09-2019 - |
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.
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.
- Adicione o ponto de interrupção na linha onde o aplicativo trava
- Clique no ponto de interrupção no menu Navigator do projeto
- Encontre o ponto de interrupção que você acabou de criar e selecione -o
- Clique no "+" na parte inferior esquerda
- 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.