Como habilitar relatórios de falhas / despejos de memória / registro de rastreamento de pilha globalmente?

9

Travar falhas podem ser as mais incômodas, levando a perda de dados, tempo de inatividade e usuários frustrados. Seria bom se as aplicações falhassem menos.

Devido à complexidade do contexto da máquina, as falhas geralmente não podem ser reproduzidas em tempo razoável para um usuário comum. Isso não significa que o bug seja raro - pode simplesmente significar que a coisa que o aciona ocorre raramente para cada usuário (por exemplo, alterações do horário de verão). É improvável que esses bugs sejam corrigidos, a menos que muitos usuários os relatem. Seria bom se mais falhas fossem relatadas.

Para depurar falhas, os desenvolvedores precisam do máximo de contexto não ambíguo possível. Os relatórios de falhas gerados são bons , porque geralmente são detalhados e precisos. Não se pode esperar que os usuários observem zelosamente e relatem todo o contexto manualmente, por isso, geralmente, enviam informações esparsas e erradas.

O público-alvo de muitas aplicações não são desenvolvedores ou administradores de sistemas, mas o público em geral, em casa ou no trabalho. Não se pode esperar que esses usuários saibam coletar informações de falha manualmente ou instalar -dbg packages, mas os relatórios gerados por esses usuários ainda podem ser usados. Algumas aplicações têm as suas próprias ferramentas de relatórios de falhas , mas na minha experiência estas raramente funcionam , e quando relatam que não comunicaram o erro não parece haver informações sobre como fazê-lo manualmente (observei isso para versões recentes do Firefox e do Flash). A geração de relatórios de falhas em todo o sistema seria boa.

Existe algum tipo de geração de relatórios de falhas * que pode ser ativada globalmente ** sem instalar uma grande quantidade de pacotes de -dbg , lendo a documentação de cada aplicativo ou desacelerando uma máquina normal para um rastreamento ?

* Logs, core dumps, rastreamentos de pilha, o que for

** Não necessariamente para init , mas pelo menos para um subconjunto significativo dos aplicativos em execução em uma instalação típica do Linux para desktop. Na minha experiência, os aplicativos da interface gráfica falham 100 vezes mais do que os aplicativos da shell, portanto, os aplicativos da GUI seriam naturalmente o foco.

    
por l0b0 08.02.2012 / 14:58

2 respostas

1

Coloque isso:

ulimit -c unlimited

no arquivo

/etc/profile

Isso pode não funcionar em todas as distros.

Leia também este artigo:

link

link

    
por 22.09.2012 / 13:05
1

O Ubuntu tem suporte apenas para isso.

    
por 24.02.2012 / 23:05

Tags