Visualizando relatórios ad-hoc de um iPhone
-
20-09-2019 - |
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?
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.