2010-01-17 12 views
59

Su Mac OS X, se invio SIGQUIT al mio programma C, termina, ma non esiste un file di dump di base.Dove sono scritti i core dump su Mac?

Devi abilitare manualmente i dump di core su Mac OS X (come?), O sono scritti in qualche altro posto invece che nella directory di lavoro?

+1

Invece di lamentarsi, è possibile riformularlo, infatti il ​​titolo non contiene nemmeno un verbo. Sarei lieto di revocare la tua domanda perché sono interessato all'argomento. Comunque penso che la domanda non stia seguendo la qualità richiesta da SO. Ho anche domande correlate riguardo a coredump http://stackoverflow.com/questions/2207233/how-to-enable-full-coredumps-on-os-x A proposito, i nucleotipi devono trovarsi in/core ma guardate in questa cartella usando il terminale e l'account root. – sorin

+5

@Sorin Un suggerimento non è un problema, è la meschinità. – xyz

+1

@Sorin FYI 'are' è un verbo (linking).Non che ciò che conta davvero qui, ma se stiamo criticando la grammatica facciamo bene;) http://examples.yourdictionary.com/reference/examples/examples-of-linking-verbs.html –

risposta

79

Sembra che siano soppressi di default. Esecuzione

$ ulimit -c unlimited 

Permetterà core dump, e sarà collocato in/cores/come core.PID

10

per impostazione predefinita, directory specifiche in Mac OSX sono nascosti. potresti voler abilitare questa funzione nel terminale e quindi il core dump dovrebbe essere visibile all'interno della directory/core.

defaults write AppleShowAllFiles com.apple.finder TRUE

+1

Grazie. Stavo navigando con Terminal (ls -lah), ma è comunque un consiglio utile. – xyz

12

La risposta di cui sopra,

ulimit -c unlimited

opere - ma essere sicuri di eseguire tale nello stesso terminale da cui eseguirai il programma che scarica core. È necessario prima eseguire il comando ulimit.

8

Inoltre, la directory/core deve esistere e l'utente che esegue il programma deve disporre delle autorizzazioni di scrittura su di esso.

+3

L'ho appena ripulito, occupando 186 GB del mio spazio! – Dragonborn

19

Su macOS, i crash dump vengono gestiti automaticamente da Crash Reporter.

È possibile trovare i file eseguendo Console e andando a diagnostica utente backtrace Reports sezione (sotto il gruppo 'diagnostica e utilizzo Informazioni') oppure è possibile individuare in ~/Library/Logs/DiagnosticReports.

È inoltre possibile controllare dove vengono generati i dump monitorando il file system.log, ad es.

tail -f /var/log/system.log | grep crash 

L'attuale nucleo file di dump si possono trovare in /cores.

Consulta anche: