Quando l'applicazione si arresta in modo anomalo con un errore di segmentazione, desidero ottenere un core dump dal sistema. Lo faccio configurando prima di manoLinux: gestione di un errore di segmentazione e acquisizione di un core dump
ulimit -c unlimited
Vorrei anche avere un'indicazione nei miei registri delle applicazioni che un errore di segmentazione è verificato. Lo faccio usando sigaction()
. Se lo faccio comunque, il segnale non raggiunge la sua gestione predefinita e un core dump non viene salvato.
Come posso avere sia il core dump di sistema sia una linea di log dal mio gestore di segnale nello stesso momento?
Potete elaborare? – Short
Ho paura che non possa. – shoosh
Questo non funziona sulla versione di Redhat 6 su cui stavo effettuando il test e causa un ciclo regressivo in cui il gestore non viene ripristinato. Funziona se si archivia il vecchio gestore quando si chiama sigaction e lo si reimposta nel gestore SIGSEGV in modo esplicito. – phenompbg