Posso configurare cosa va in un core dump su Linux? Voglio ottenere qualcosa come i mini-dump di Windows (informazioni minime sullo stack frame quando l'app si è bloccata). So che è possibile impostare una dimensione massima per i file core utilizzando ulimit
, ma ciò non mi consente di controllare ciò che accade all'interno del core (cioè non c'è garanzia che se imposto il limite a 64kb scaricherà le ultime 16 pagine di lo stack, per esempio).Dump nucleo minimale (traccia stack + frame corrente solo)
Inoltre, vorrei impostarlo in modo programmatico (dal codice), se possibile. Ho visto il file /proc/PID/coredump_filter
menzionato da man core
, ma sembra troppo granuloso per i miei scopi.
Per fornire un piccolo contesto: ho bisogno di piccoli file core, per molteplici ragioni: ho bisogno di raccoglierli in rete, per numerosi (migliaia) di clienti; inoltre, questi sono dispositivi integrati con poche schede SD e modem GPRS per la connessione di rete. Quindi qualsiasi cosa al di sopra di ~ 200k è fuori questione.
EDIT: Sto lavorando su un dispositivo incorporato che esegue Linux 2.6.24. Il processore è PowerPC. Purtroppo, PowerPC-linux è non supportate in Breakpad al momento, in modo da google Breakpad non è un'opzione
Non ho idea, e la risposta si trova probabilmente all'interno del codice sorgente del kernel (perché non ci sono specifiche relative a questo). Perché lo chiedi? Con i dischi attuali, un limite di dump del core di 64 Mb è ancora ridotto e molto probabilmente contiene informazioni sufficienti. Perché è necessario impostare il limite su un valore così piccolo come 64kb. ? –
Google Breakpad scrive minidump su tutte le piattaforme, incluso Linux. –
Chiedo perché sto usando un dispositivo embedded, che ha un piccolo disco flash e soprattutto una connessione gprs lenta per scaricare i dati .. Voglio che sia il più piccolo possibile! –