Como habilitar relatórios de falhas / dumps principais / log de rastreamento de pilha globalmente?

9

Bugs com falhas podem ser os mais irritantes, levando à perda de dados, tempo de inatividade e usuários frustrados. Seria bom se os aplicativos travassem 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 - poderia simplesmente significar que a coisa que o aciona ocorre raramente para cada usuário (por exemplo, alterações no horário de verão). É improvável que esses erros sejam corrigidos, a menos que muitos usuários os relatem. Seria bom se mais falhas fossem relatadas.

Para depurar falhas, os desenvolvedores precisam do contexto mais inequívoco 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 e relatem zelosamente todo o contexto manualmente; portanto, eles geralmente enviam informações esparsas e incorretas.

O público-alvo de muitos aplicativos não são desenvolvedores ou administradores de sistemas, mas o público em geral, em casa ou no trabalho. Não se espera que esses usuários saibam coletar informações de falha manualmente ou instalar -dbgpacotes, mas os relatórios gerados a partir de tais usuários ainda podem ser utilizados. Alguns aplicativos têm suas próprias ferramentas de relatório de falhas , mas, na minha experiência, raramente funcionam e, quando relatam que falharam em relatar o erro, parece não haver informações sobre como fazê-lo manualmente (observei isso em versões recentes do Firefox e 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 tonelada de -dbgpacotes, ler a documentação de cada aplicativo ou reduzir a velocidade de uma máquina normal para um rastreamento?

* Logs, core dumps, rastreios de pilha, qualquer que seja

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

l0b0
fonte
O que você faria com todos esses arquivos principais (sim, você pode ativar os core dumps globalmente, mas os aplicativos podem desativá-los individualmente)? Como você educa os usuários sobre o que fazer com eles, como limpá-los?
Tapete de
11
Envie-os para os desenvolvedores. Pelo menos a maioria deles deve estar familiarizada com os anexos de email.
L0b0
11
E os problemas de segurança? os dumps principais podem estar cheios de informações pessoais. Sinto muito, mas não vi nada geralmente prático no que você propõe.
Tapete de
Os relatórios de falhas e rastreamentos de pilha, por outro lado, não devem conter nenhuma informação pessoal. Mesmo esses devem ser suficientes para depurar muitos aplicativos, se eles forem gerados apenas por padrão e fáceis de encontrar.
L0b0
11
Rastreamentos de pilha não são tão úteis sem informações de depuração (ou pelo menos versões binárias exatas que os acompanham). "Crash report" é um conceito em nível de aplicativo, não algo que você pode "ativar globalmente" (embora algumas estruturas os forneçam, e as grandes (KDE por exemplo) já possuem recursos automáticos "enviar para a equipe de desenvolvimento").
Tapete de

Respostas:

1

O Ubuntu possui o Apport apenas para isso.

sendmoreinfo
fonte