Processando arquivos de símbolo no Xcode


285

Fiquei me perguntando se alguém poderia me dizer o que o Xcode está realmente fazendo quando diz: "Processando arquivos de símbolos" depois de conectar o dispositivo?

Captura de tela


Eu tive que esperar por um longo tempo ... cerca de 30 minutos e a implantação posterior no dispositivo foi bem-sucedida. Talvez o Mac esteja demorando para reconhecer o dispositivo.
Jayprakash Dubey

Respostas:


263

Ele baixa os símbolos (depuração) do dispositivo, para que seja possível depurar em dispositivos com essa versão iOS específica e também simbolizar os relatórios de falhas que ocorreram nessa versão iOS.

Como os símbolos são específicos da CPU, o procedimento acima só funcionará se você tiver importado os símbolos não apenas para um dispositivo iOS específico, mas também para um tipo específico de CPU. Os tipos de CPU atualmente necessários são armv7 (por exemplo, iPhone 4, iPhone 4s), armv7s (por exemplo, iPhone 5) e arm64 (por exemplo, iPhone 5s).

Portanto, se você quiser simbolizar um relatório de falha que ocorreu em um iPhone 5 com armv7s e possuir apenas os símbolos para armv7 para essa versão específica do iOS, o Xcode não será capaz de simbolizar (totalmente) o relatório de falha.


19
Recentemente, descobri que o Xcode não processaria arquivos de símbolos do meu iPad2 ou iPhone4s. Sempre parava no meio do caminho e nunca terminava, nem mesmo depois de meia hora. No final, consegui que funcionasse ... quebrando um cabo conector completamente novo e conectando-o diretamente ao meu Mac Mini (anteriormente eu havia sido conectado através de um cabo de extensão). Concluí que a má conexão REALMENTE mexe com as atualizações de símbolos.
Ash

5
Então, por que não agrupar esses símbolos na distribuição xcode? Por que todo o trabalho de extraí-los do dispositivo?
Matthew Exon

3
Os símbolos para todas as arquiteturas são maiores que 1 GB de tamanho por versão (iOS) e nem sempre há uma atualização do Xcode para cada versão do bugfix. O Xcode está sendo atualizado apenas com atualizações / alterações da API.
Kerni

@VladimirDespotovic O que você quer resolver aqui? Isso não é um problema. Isso precisa ser feito, pois o depurador precisa desses dados e, para simbolização de falhas, isso também é necessário. A questão também não indicava um problema.
Kerni

36

No Xcode versão 6.1.1 (6A2008a), após "Processando arquivos de símbolos", uma pasta contendo símbolos associados ao dispositivo (incluindo versão iOS e tipo de CPU) foi criada em ~ / Library / Developer / Xcode / iOS DeviceSupport / como esta:

insira a descrição da imagem aqui


6
o que estava em (nulo) (nulo)?
Anton Tropashko

6
@AntonTropashko, (null) ((null))na verdade.
Alejandro Iván

6
No meu caso, "(null) ((null))" continha ... nada!
Sjakelien 23/03

7
Como os arquivos Sym são baixados quando necessário, lixeira na maioria das pastas neste local. Ele liberou mais de 24 GB no meu SSD!
Sjakelien 23/03

@Sjakelien Pasta bem rotulada então
Brad Thomas

19

O xCode apenas copia todos os logs de falhas. Se você deseja acelerar: exclua o número de relatórios de falhas após analisá-los, diretamente nesta janela.

Devices -> View Device Logs -> All Logs

captura de tela


@QLiu Sure. Parece bug, ou os logs são maiores que o esperado.
WINSergey 31/01

Como acessar esses logs? (Eu tenho 0 experiência com xCode)
Ben

@ Ben Janela -> Devices -> Selecionar o dispositivo no lado esquerdo -> feito
WINSergey

4

No meu caso, simbolizar era uma eternidade. Eu forço a reiniciar meu telefone com os botões liga / desliga e home. Agora terminei rapidamente a simbolização e estou começando a executar meu aplicativo via xcode.


1

Sei que essa não é uma solução técnica, mas eu tinha o meu iphone conectado ao computador por cabo e desconectando o dispositivo do computador e conectando-o novamente (por cabo novamente) funcionou para mim, pois não consegui resolvê-lo com as soluções que estão disponíveis. fornecido antes.


Isso pode ter sido um momento de sorte ... ou uma reação atrasada a outras ações que você tomou. Eu desconectei e reconectei e ele voltou a esse modo até terminar.
Paul Masri-Stone


0

Erro irritante. Eu o resolvi conectando o cabo diretamente ao iPad. Por alguma razão, o processo nunca terminaria se eu tivesse o iPad no suporte de passagem da Apple.


3
É um erro, porque NUNCA seria concluído se eu o tivesse no suporte.
precisa saber é o seguinte

2
Eu reconheço a resposta é mal expressa, mas era realmente certo para mim, conectando-se diretamente à porta USB resolvido para mim, apesar da usb-hub estava funcionando bem para qualquer outra tarefa
Jalone

0

Adicionar a versão do SDK corresponde ao seu iPhone iOS, por exemplo: iOS 10.3

caminho:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


Está baixando. Quando terminar, tudo bem. Como mostrado na figura:

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.