Come abilitare i rapporti sugli arresti anomali / i core dump / la registrazione dello stack stack a livello globale?


9

I bug di crash possono essere i più fastidiosi, con conseguente perdita di dati, tempi di inattività e utenti frustrati. Sarebbe bello se le applicazioni si bloccassero di meno.

A causa della complessità del contesto della macchina, gli arresti anomali spesso non possono essere riprodotti in tempi ragionevoli per un utente normale. Ciò non significa che il bug sia raro - Potrebbe semplicemente significare che la cosa che lo innesca si verifica raramente per ogni utente (ad esempio le modifiche dell'ora legale). È improbabile che tali bug vengano corretti a meno che molti utenti non li segnalino. Sarebbe bene se fossero segnalati più arresti anomali.

Per eseguire il debug degli arresti anomali, gli sviluppatori hanno bisogno di un contesto il più chiaro possibile. I rapporti sugli arresti anomali generati sono buoni , perché di solito sono dettagliati e precisi. Non ci si può aspettare che gli utenti osservino e riferiscano zelantemente tutto il contesto manualmente, quindi spesso inviano informazioni sparse e errate.

Il pubblico di destinazione per molte applicazioni non sono sviluppatori o amministratori di sistema, ma piuttosto il pubblico in generale, a casa o al lavoro. Non ci si può aspettare che tali utenti sappiano come raccogliere manualmente le informazioni sugli arresti anomali o installare -dbgpacchetti, ma i rapporti generati da tali utenti possono comunque essere utilizzabili. Alcune applicazioni hanno i propri strumenti di segnalazione degli arresti anomali , ma nella mia esperienza questi funzionano raramente e quando segnalano di non aver segnalato l'errore non sembrano esserci informazioni su come farlo manualmente (l'ho osservato per versioni recenti di Firefox e Flash). La generazione di segnalazioni sugli arresti anomali a livello di sistema sarebbe buona.

Esiste una sorta di generazione di rapporti sugli arresti anomali * che può essere abilitata a livello globale ** senza installare una tonnellata di -dbgpacchetti, leggere la documentazione di ogni singola applicazione o rallentare una macchina normale fino a una scansione?

* Log, core dump, tracce dello stack, qualunque cosa

** Non necessariamente per init, ma almeno per un sottoinsieme significativo delle applicazioni in esecuzione su una tipica installazione desktop Linux. Nella mia esperienza, le applicazioni GUI si bloccano 100 volte più frequentemente delle applicazioni shell, quindi le applicazioni GUI sarebbero naturalmente al centro dell'attenzione.


Cosa faresti con tutti quei file core (sì, puoi abilitare i core dump a livello globale, ma le app potrebbero disabilitarli singolarmente)? Come educare gli utenti su cosa fare con loro, come ripulirli?
Mat

1
Mandali agli sviluppatori. Almeno la maggior parte di loro dovrebbe avere familiarità con gli allegati di posta elettronica.
l0b0

1
E i problemi di sicurezza? core dump può essere pieno di informazioni personali. Mi dispiace, ma non ho visto nulla di generalmente pratico in ciò che proponi.
Mat

I rapporti sugli arresti anomali e le tracce dello stack, d'altra parte, non devono contenere alcuna informazione personale. Anche quelli dovrebbero essere sufficienti per eseguire il debug di molte applicazioni, se sono state generate solo per impostazione predefinita e facili da trovare.
l0b0,

1
Le tracce dello stack non sono poi così utili senza le informazioni di debug (o almeno le versioni binarie esatte che ne derivano). "Rapporto sugli arresti anomali" è un concetto a livello di applicazione, non qualcosa che potresti "abilitare a livello globale" (sebbene alcuni framework li forniscano e quelli di grandi dimensioni (ad esempio KDE) hanno già funzioni automatiche "invia al team di sviluppo").
Mat

Risposte:



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.