Obtendo logs de Crash diretamente de um dispositivo iOS

O que é Crash de software?

Danilo Policarpo
assert(QA)
3 min readDec 19, 2017

--

Procurei várias definições para Crash, porém vou seguir no raciocínio da tradução mesmo "Acidente" , acontecimento casual e inesperado.

Por que ocorre o Crash ?

  • Memória
  • Ciclo de vida do software
  • Internet
  • Condições de erro e tratamento de exceções

Obtendo logs de Crash sem o uso do XCode

Seus usuários podem recuperar relatórios de falhas de seu dispositivo e enviá-los por e-mail seguindo estas instruções.

1) Abrir aplicativo Configurações

2) Vá para Privacidade, depois Análise

3) Selecione Dados da Análise

4) Localize o log para o aplicativo quebrou. Os logs serão nomeados no formato: <AppName> _ <DateTime> _ <DeviceName>

5) Selecione o log desejado. Em seguida, usando a UI de seleção de texto, selecione o texto inteiro do log. Quando o texto for selecionado, toque em Compartilhar e envia para um endereço de e-mail desejado.

Ilustração utilizando iPhone 5 OS 10.3.3

Obtendo logs de Crash utilizando XCode

Embora você não seja capaz de executar o aplicativo no depurador do Xcode, o Xcode ainda pode fornecer todas as informações necessárias para depurar o problema.

1) Conecte o dispositivo e abra Xcode

2) Escolha Janela (Window)-> Dispositivos (Devices) da barra de menu

3) Na seção DISPOSITIVOS na coluna da esquerda, escolha o dispositivo

4) Para ver os logs de interrupção, selecione o botão Exibir dispositivos logs (View Device Logs) na seção Informações do dispositivo no painel direito

5) Encontre seu aplicativo na coluna processo e selecione o registro Crash para ver o conteúdo.

6) Para salvar um registro de falhas, clique com o botão direito sobre o processo e “Exportar log”

Ilustração utilizando XCode Version 8.3.1 (8E1000a)
Ilustração utilizando XCode Version 8.3.1 (8E1000a)

Analisando um Crash

Abaixo segue um link da analise do crash:

https://www.youtube.com/embed/7dfWeqk8OWE

Vantagens e Desvantagens

Vantagens

  • Testes automatizados com devices + logs de Crashs
  • Testes exploratório + logs de Crashs
  • Ajuda os desenvolvedores a melhorar seus aplicativos

Exemplos:

O famoso caso de quando um erro ocorre com você, porém quando você tentar reproduzir novamente o erro não acontece mais, esses logs podem ajudar o desenvolvedor a diagnosticar ou debugar-lo.

Desvantagens

  • Logs disponível somente para plataforma iOS
  • Logs somente no dispositivo físicos
  • Logs deveria ser mais intuitivo

--

--