Android Studio, logcat limpa após o fechamento do aplicativo

133

Estou com um problema no meu logcat desde a atualização 1.2 Beta para Android Studio. Quando executo meu aplicativo, ele registra tudo como normalmente fazia, e chego ao ponto em que meu aplicativo trava com o aplicativo, dizendo: infelizmente, o jogo parou.

Depois de alguns segundos, o Android fecha essa mensagem. Quando isso acontece, meu logcat também é totalmente limpo, o que significa que eu mal consigo ler o erro a qualquer momento. Encontrei algumas informações sobre um buffer, mas parece que o Android Studio não tem a opção de aumentá-lo, além do fato de que duvido que esse seja o problema.

Algo que pode ser útil é que, depois de limpo e processado, o processo muda para Android.process.core e a mensagem que recebo no meu logcat é:

04-13 10:28:13.394  12259-12265/android.process.acore D/dalvikvm    
Debugger has detached; object registry had 1 entries

Editar: eu li sobre pontos de interrupção, portanto, o aplicativo de foco desativado é desativado nos pontos de interrupção em Configurações-compilação, execução, implantação-depurador, mas não teve nenhum efeito.

Lotus preta
fonte
2
Se você encontrar o local instalado do programa adb, poderá executar a adb logcatpartir do seu terminal ou janela de comando e, opcionalmente, direcioná-lo para um pager, grep, tee ou qualquer outra coisa.
Chris Stratton
1
Sim, você também pode tentar adb shell bugreport > log.txt, tipos de informações de log serão buscados assim que o comando for concluído.
gostoso
@yummy funcionou da melhor maneira para mim por enquanto, ainda espero encontrar uma solução, já que esse não é o melhor caminho na minha opinião. Obrigado
Black Lotus
1
Não encontrei nenhuma solução para não limpar os logs com o Android Studio 1.2, mas uma solução fácil é não clicar no botão Fechar (no dispositivo) quando o aplicativo falha. Assim, você tem todos os logs e os motivos pelos quais os aplicativos falharam.
Chakir
@Jameltheone As mensagens ficam na tela apenas por alguns segundos. Em seguida, fecha o próprio diálogo de falha. Então, realmente não tenha controle sobre isso.
Black Lotus

Respostas:

270

Eu tive o mesmo problema, mas parece mais um recurso do que um bug:

No AndroidStudio, a configuração padrão da janela do Logcat parece ser "Mostrar apenas aplicativo selecionado" (canto superior direito da janela do Logcat) ... que está visualizando o log do processo selecionado (sua inicialização atual por padrão). Portanto, quando seu aplicativo falha durante o teste, esse processo acaba, e o filtro limpa o log.

Em vez disso, selecione "Editar configuração do filtro ..." e configure um filtro para o seu aplicativo , por exemplo:

  • FilterName: MyApp
  • PackageName: com.example.myapp (<< substitua pelo nome do pacote do seu aplicativo)

... e selecione esse filtro para execuções futuras. Isso deve manter o registro lá para você, mesmo depois que o aplicativo falha.

maxdownunder
fonte
Muito obrigado. Eu estive descobrindo o erro 2 dias atrás! Agora eu sei como realmente visualizar o erro. :)
Woppi
Você é um SALVADOR que estava tentando copiar e colar o registro antes de limpar ... pensei que estava funcionando, porque outros telefones se comportam normalmente.
Master Fathi
Apenas o que estava faltando. Essa deve ser a resposta aceita.
Graxa
Teve o mesmo problema. Funciona perfeitamente.
Chandan Pednekar # 10/18
59

Alterne "Mostrar apenas o aplicativo selecionado" para "Sem filtros". Dessa forma, você pode ver a saída do logcat de um processo, mesmo quando esse processo não está em execução.

A desvantagem é que seu logcat será preenchido com mais spam de outros processos.

Brian Attwell
fonte
1
para filtrar o spam, digite o nome do pacote do seu aplicativo na barra de pesquisa, além do menu suspenso "mostrar apenas o aplicativo selecionado / sem filtro".
computingfreak
24

Meu aplicativo estava travando e reiniciando. Eu também tive alguns problemas ao ler o logcat para saber o que estava acontecendo. Notei que no menu suspenso, ao lado do menu suspenso Dispositivo, havia algo como "com.mypackage.myapp ('some number')" e quando meu aplicativo travava, havia outra opção que dizia "com.mypackage.myapp ( 'some number') [MORTO] " . Se você selecionar a opção "Inoperante", mostrará o logcat da instância anterior.

Dead LogCat

ALourenco
fonte
Aparece quando falha.
ALourenco 7/07
Eu quis dizer no acidente. O PID muda, mas a instância inoperante não aparece na lista.
Karan Modi
20

Em caso de falha, veja a Runguia na parte inferior do IDE.

Você pode ver o motivo da falha nesta parte (mesmo no caso limpo do logcat).

Nota: Se o truque acima não funcionar, tente causar um acidente e desconecte imediatamente o cabo móvel (se você usar o dispositivo real para o teste). você pode ver o erro antes de limpá-lo.

Atualização: Se o truque acima também não funcionar, tente conectar e desconectar o telefone e, espero, resolver o problema.

Atualização 2: se novamente não funcionar, tente invalidar capturas e reiniciar e inicie a depuração novamente.

Update3: Como a última maneira, tente remover o aplicativo e instalá-lo novamente e inicie a depuração (se você não perder a condição que deseja testar)

Amir Hossein Ghasemi
fonte
6

No Android Studio 2 ou superior

  1. Clique Run

  2. Clique Edit Configurations

  3. Na Run/Debug Configurationsjanela, selecione a Miscellaneousguia

  4. Verifique se a Clear log before launchcaixa de seleção não está marcada

Flot2011
fonte
4

Eu enfrentei o mesmo problema e esta é a solução: -

1- Ferramentas -> Android -> Ativar integração do ADB.

e agora você pode ver o logcat e as falhas normalmente

Ziad Gholmish
fonte
Minha integração do ADB já estava ativada, infelizmente, o suficiente. Algo que é muito útil é que, após a limpeza, recebo a mensagem: 04-13 10: 28: 13.394 12259-12265 / android.process.acore D / dalvikvm ﹕ O depurador foi desconectado; registro de objeto tinha 1 entradas
Lotus preto
@BlackLotus você resolveu seu problema? Eu enfrento o mesmo problema aqui
Hoo
Isso não é mais válido no novo Android Studio.
Hamzeh Soboh
4

O filtro limpa o log assim que o aplicativo falha. Então, selecione "Editar configuração do filtro" e crie seu próprio filtro personalizado com o nome do filtro. Isso salvará o log com informações, mesmo quando o aplicativo for solicitado.

Mohammed Nishar
fonte
1

É 2018 e isso ainda pode acontecer. Feche o Android Studio e reabra.

Straya
fonte
0

Esse bug parece ter sido corrigido com a nova versão do Android Studio versão 1.2.2

Chakir
fonte
1
O bug ainda está aqui, mesmo no Android Estúdio 2.2.2, então eu acho @maxdownunder estava muito bem com a suposição de que ele é realmente um ... "recurso"
Aenadon
0

Encontrei o mesmo problema e nenhuma das respostas poderia me ajudar, até que percebi que meu aplicativo estava causando uma OutOfMemoryException. Essa é uma causa raiz provável também.

Chisko
fonte