Quando um aplicativo falha sem gerar um erro, existe um log que eu possa verificar?

11

Às vezes acontece que algum aplicativo falha sem dar nenhum erro de saída ( conky no meu caso, provavelmente é uma das minhas configurações incorretas).

Existe algum lugar em um log de erros que eu possa verificar para entender por que ele está com falha?

    
por Strae 19.08.2010 / 04:57

6 respostas

10

Depende do aplicativo. Aplicações diferentes possuem diferentes sistemas de registro; não há um log central que contenha toda a saída de todos os programas que são executados em seu sistema.

Dito isto, muitos programas colocam seus arquivos de log no diretório /var/log . O arquivo /var/log/syslog (ou talvez /var/log/messages ), em particular, contém a saída do "logger do sistema", que é um serviço disponibilizado pelo sistema que os programas podem usar (se optarem) pelo logging. Mas nem todos os programas usam isso. Na maioria das vezes, você encontrará mensagens de serviços de sistema de baixo nível nesse arquivo, não os aplicativos gráficos que você provavelmente usa normalmente.

Você pode querer ler mais sobre os locais dos arquivos de log padrão .

    
por David Z 19.08.2010 / 05:15
4
Os arquivos de travamento

entram em /var/log/crashes/ para uso com o apport para reportar bugs. Você pode extrair um dump principal com apport-unpack , colocar esse dump principal por meio do gdb e descobrir o que está causando a falha do programa.

Isso tudo está assumindo que você é um programador. Se você não é ... bem, você não pode consertar o acidente!

    
por maco 19.08.2010 / 05:28
2

Para o conky, também pode haver entradas em $HOME/.xsession-errors .

    
por qbi 19.08.2010 / 11:12
1

Alguns aplicativos têm sinalizadores que podem ser usados para ativar a depuração, como -d, -D, --debug, etc. Verifique a página do manual do aplicativo ( man [my-app] ) ou execute o aplicativo com o sinalizador -h para veja se tem essa opção.

Muitas aplicações GUI escrevem em $ HOME / .xsession-errors, por isso é um bom local para verificar a saída.

A maco está certa de que o apport é provavelmente a maneira mais segura de obter boas informações de depuração. Às vezes, não captura a falha, no entanto.

Se tudo mais falhar, você também poderá forçar a informação dele executando o aplicativo no gdb. Seria algo como:

$ gdb my-app

(gdb) run

... faça o que for necessário para travar ...

(gdb) bt full

e de lá ir.

Se você for a rota do gdb, também precisará instalar símbolos, como mencionado anteriormente. Consulte o link para conselhos sobre a mão.

    
por Bryce 19.08.2010 / 21:56
0

você pode ir para /var/log/messages or crashes , então você pode executar o comando grep neles e procurar o aplicativo que procura, os arquivos podem ficar muito grandes às vezes. Ele retornará informações relevantes para sua aplicação. :)

    
por myusuf3 19.08.2010 / 05:35
0

Se você estiver lançando seu aplicativo a partir de um arquivo de inicialização .desktop, adicione a opção Terminal=true ao seu arquivo .desktop.

    
por Selah 24.04.2017 / 23:19

Tags