Este artigo necessita de uma revisão técnica. Como posso ajudar.
Esta página fornece detalhes sobre como lidar com relatórios de travamento no Firefox OS, incluindo a recuperação de relatórios, e forçando travamentos.
Nota: A maioria dos contribuintes Firefox desktop estão acostumados a usar about: crashes para recuperar relatórios de travamento (leia Relatórios de Travamento para mais detalhes), mas isso não é suportado no Firefox OS.
Antes de tentar qualquer outra coisa
As instruções a seguir pressupõem que você já tenha seguido estas três etapas:
- Tenha certeza de que o depurador remoto esteja habilitado em seu dispositivo, e o ADB esteja instalado. Isso permitirá que o seu computador comunique com seu dispositivo.
- Conecte seu dispositivo ao seu computador via USB.
- Instale o ADB Helper Add-on no desktop Firefox para lidar com qualquer encaminhamento de porta necessário.
Instalando BusyBox
Também é recomendado que você instale o BusyBox, que adiciona uma série de comandos úteis para ADB que ajudam a testar e depurar o Firefox OS.
Para instalá-lo, certifique-se que o seu dispositivo esteja ligado e, em seguida:
- Faça download do BusyBox.
- Descompacte o tarball em um local seguro.
- cd no diretório restante busybox-b2g.
- Execute
./install.sh
para instalar.
Todas as funcionalidades do busybox pegam symlinks em /system/bin
, de forma que você possa rodar comandos como ping diretamente. Aqui estão alguns exemplos de comandos:
adb shell ping 8.8.8.8 => ping command adb shell ifconfig wlan0 => check tx/rx bytes adb shell cat /proc/net/route => check the default route adb shell iptables -t nat -nvL => check if the packets are sent from application to IP layer, check Chain OUTPUT (policy ACCEPT 2 packets, 168 bytes)
Obtendo relatórios de travamento de um dispositivo Firefox OS
Nós criamos o Firefox OS app para que seja possível recuperar relatórios de travamento — About Crashes — que funcionam na versão 1.2+.
Para instalar em seu dispositivo, siga os seguintes passos:
- About Crashes é um app certificado, então você precisa habilitar o depurador de aplicativos certificados (veja instruções para App Manager e WebIDE).
- Faça download do arquivo zip About Crashes app do link acima e extraia localmente.
- No Firefox desktop, abra o App Manager e o WebIDE (dependendo da versão do Firefox que você esteja usando) em Ferramentas > Web Developer.
- Em cada ferramenta, adicione o About Crashes app como um app compactado (App Manager: clique no sinal de mais ao lado da opção Adicionar App Compactado, WebIDE Compactado: Abra o menu dropdown do lado esquerdo e selecione Adicionar App Compactado ...).
- Conecte o seu dispositivo ao App Manager/WebIDE (App Manager: encontre listado na parte inferior da interface do usuário, WebIDE: Procure por Select Runtime).
- Instale e abra o aplicativo em seu dispositivo (App Manager: Pressione o botão Update, WebIDE: pressione o botão "Play" (Instale and execute).
- No dispositivo, pressione o botão Update dentro de About Crashes para visualisar as falhas mais recentes.
Obtendo crash IDs a partir de uma linha de comando
Você pode obter uma lista de IDs de falhas através de uma linha de comando, digitando o seguinte comando em seu terminal:
adb shell ls -l /data/b2g/mozilla/Crash\ Reports/submitted/
Caso você possua uma longa lista de crashes e deseja que elas sejam ordenadas por data, use o seguinte comando:
adb shell busybox ls -ltr /data/b2g/mozilla/Crash\ Reports/submitted/
Obtendo/verificando o relatório de travamento
Para verificar o relatório de travamento:
- Copie o nome do arquivo sem a extensão.
- Acesse Mozilla Crash Reports.
- Cole o nome do arquivo sem a extensão na parte superior do campo de busca.
Isso deverá exibir o crash report que você enviou.
Como forçar uma falha
Para acionar uma falha no sistema Firefox OS, digite o seguinte comando em seu terminal para encontrar a ID do processo root:
adb shell ps | grep b2g
Você terá que encontrar a linha que tem raiz no início, e / system / B2G / B2G no final. O resultado deve parecer com isto:
root 109 1 191120 66024 ffffffff 400fa330 S /system/b2g/b2g
O número no início do código é a id que você precisará para terminar o processo. Execute o seguinte comando, com a id dentro espaço [ ]:
adb shell kill -11 [ENTER ID HERE]
Ao matar o processo pela, uma falha aparecerá em seu dispositivo.
Como executar o script GDB para b2g
- Inicie a galeria app no telefone, e em seguida execute o seguinte comando em seu terminal:
-
adb shell b2g-ps
- Anote o pid do app galeria, e em seguida, execute o seguinte comando:
-
./run-gdb.sh attach <pid>
- Provoque o crash.
- Execute o comando abaixo:
(gdb) bt