Como podemos rastrear problemas de falhas em programas no Linux?

8

Se um aplicativo travar no Windows, podemos verificar o Visualizador de Eventos nas ferramentas de Administração para ver o que ocorreu. Às vezes tem informações úteis, outras não, mas é um começo.
No linux, se uma aplicação (qualquer) falha como alguém começa a rastrear o que aconteceu?
Existe por exemplo algum log central ou algo similar?

    
por Jim 22.01.2014 / 22:22

3 respostas

10

Is there e.g. some central log or something similar?

O local normal dos logs do sistema é /var/log/ . O que é colocado em cada log depende da configuração do syslog, mas geralmente tudo, exceto logins, vai para /var/log/syslog .

Isso não garante que os aplicativos individuais tenham deixado alguma pista no caso de um problema. Mas eles, ou o shell, provavelmente cuspirão algo nos fluxos de erro padrão / padrão, e se você executar um aplicativo problemático em primeiro plano a partir de um terminal, poderá ver essas coisas.

    
por 22.01.2014 / 22:52
4

Em segfaults do Ubuntu, escreva em /var/log/kern.log . Eu testei criando um programa que segfaults:

void main() {
    int *a=0;
    *a=0;
}

Depois de segmentado, essa linha foi encontrada em /var/log/kern.log :

a.out[534]: segfault at 0 ip 08048432 sp bfaec8c0 error 6 in a.out[8048000+1000]
    
por 19.03.2016 / 20:04
0

No Ubuntu, 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 24.04.2017 / 23:20