Pergunta

Estou fazendo alguns testes beta. Eu tenho um acidente e tentando descobrir isso. Se eu conectar o iPhone, posso ver o relatório de falha no organizador do XCode. Então, eu vejo isso (meu aplicativo se chama Lineskipper):

Thread 0 Crashed:
0   libobjc.A.dylib                 0x323fe6f4 0x323fc000 + 9972
1   UIKit                           0x32ba205e 0x32b60000 + 270430
2   UIKit                           0x32ba1ffe 0x32b60000 + 270334
3   UIKit                           0x32ba1fd0 0x32b60000 + 270288
4   UIKit                           0x32ba1d2a 0x32b60000 + 269610
5   UIKit                           0x32ba263e 0x32b60000 + 271934
6   UIKit                           0x32ba1656 0x32b60000 + 267862
7   UIKit                           0x32ba1032 0x32b60000 + 266290
8   UIKit                           0x32b9d928 0x32b60000 + 252200
9   UIKit                           0x32b9d3a0 0x32b60000 + 250784
10  GraphicsServices                0x32913b72 0x3290f000 + 19314
11  CoreFoundation                  0x32567c26 0x32511000 + 355366
12  CoreFoundation                  0x32567356 0x32511000 + 353110
13  GraphicsServices                0x32912cb8 0x3290f000 + 15544
14  GraphicsServices                0x32912d64 0x3290f000 + 15716
15  UIKit                           0x32b62768 0x32b60000 + 10088
16  UIKit                           0x32b6146c 0x32b60000 + 5228
17  LineSkipper                     0x000022e0 0x1000 + 4832
18  LineSkipper                     0x0000229c 0x1000 + 4764

Não é particularmente útil. Pelo que entendi, preciso simbolizar. Então eu li esta pequena pepita de sabedoria em Apple TN2151

Dado um relatório de falha, o binário correspondente e seu arquivo .dsym, a simbolicação é relativamente fácil. A janela Organizador do XCode possui uma guia para relatórios de falha do dispositivo atualmente selecionado. Você pode visualizar relatórios de falha recebidos externamente nesta guia - basta colocá -los no diretório apropriado. É o mesmo que o diretório Mac OS X descrito na primeira seção. Não importa qual dispositivo você tenha amarrado, mas o diretório no qual você coloca o relatório de falha deve ser o diretório do dispositivo amarrado e selecionado.

Não é necessário colocar o arquivo binário e .dsym em qualquer local específico. O Xcode usa o Spotlight e o UUID para localizar os arquivos corretos. É necessário, porém, que ambos os arquivos estejam no mesmo diretório e que esse diretório é indexado pelo Spotlight. Em qualquer lugar do seu diretório doméstico deve ficar bem.

Então, basicamente, eu não entendo. Eu arrasto o relatório do acidente para fora do organizador, coloco-o nas referências de Apple do diretório aqui (~/biblioteca/logs/crashReporter/mobileVice/) e então ... cliquei duas vezes nele. Ele abre o aplicativo Console e vejo exatamente o que vi no organizador.

Então eu fiz algo errado? Como eu sei que fiz isso? Como vejo o arquivo de console para saber exatamente onde estava o acidente?

Foi útil?

Solução 2

Acontece que, depois de puxar meu cabelo por algum tempo, meu DSYM/aplicativo ficou fora de sincronia com o relatório do acidente. Opa.

Claro, descobrir que isso não é pequeno feito - este tópico No fórum da Apple me mostrou como determinar se os arquivos correspondem ou não.

Outra coisa que percebi durante todo esse desastre foi que estava perdendo muitas coisas - se você vir erros como "arquivo não encontrado" e o que não, verifique se você tem todas as ferramentas UNIX adequadas instaladas. Caso contrário, deve ser mais fácil apenas RedOwnload Xcode e reinstalá -lo, verificando a opção Ferramentas Unix durante o processo de instalação.

Outras dicas

Certifique -se de salvar o arquivo .dsym associado à compilação AD HO. Não pode ser recriado mais tarde.

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