2010-01-17 10 views
59

Unter Mac OS X, wenn ich SIGQUIT an mein C-Programm sende, wird es beendet, aber es gibt keine Core-Dump-Datei.Wo werden Core Dumps auf Mac geschrieben?

Müssen Sie Core-Dumps unter Mac OS X manuell aktivieren (wie?), Oder werden sie an anderer Stelle anstelle des Arbeitsverzeichnisses geschrieben?

+1

Anstatt sich zu beschweren, könnten Sie es anders formulieren - tatsächlich hat Ihr Titel nicht einmal ein Verb darin. Ich würde gerne Ihre Frage auffrischen, weil ich mich für das Thema interessiere. Dennoch denke ich, dass die Frage nicht der von SO geforderten Qualität entspricht. Ich habe sogar Verwandte Frage zu coredump http://stackoverflow.com/questions/2207233/how-to-enable-full-coredumps-on-o-x Übrigens, coredumps sind in '/ befinden Kerne, aber suchen Sie in diesem Ordner mit dem Terminal- und Root-Konto. – sorin

+5

@Sorin Ein Vorschlag ist kein Problem, Kleinlichkeit ist. – xyz

+1

@Sorin FYI 'sind' ist ein (verbindenden) Verb.Nicht, dass es hier wirklich wichtig ist, aber wenn wir Grammatik kritisieren, lass es uns richtig machen;) http://examples.yourdictionary.com/reference/examples/examples-of-linking-verbs.html –

Antwort

79

Es scheint, dass sie standardmäßig unterdrückt werden.

$ ulimit -c unlimited 

Laufen ermöglichen Core-Dumps, und es wird in/Kern gelegt werden/wie core.PID

10

standardmäßig bestimmte Verzeichnisse in Mac OS X versteckt sind. Möglicherweise möchten Sie diese Funktion im Terminal aktivieren, und dann sollte der Core-Dump innerhalb des Verzeichnisses/der Kerne sichtbar sein.

defaults write com.apple.finder AppleShowAllFiles TRUE

+1

Danke. Ich habe mit Terminal (ls -lah) geblättert, aber das ist trotzdem ein nützlicher Tipp. – xyz

12

Die Antwort oben,

ulimit -c unlimited

Werke - aber sicher sein, dass laufen im selben Terminal, von dem Sie das Programm ausführen, das Kern ablädt. Sie müssen zuerst den Befehl ulimit ausführen.

8

Darüber hinaus muss das Verzeichnis/cores vorhanden sein und der Benutzer, der das Programm ausführt, muss über Schreibberechtigungen verfügen.

+3

Ich habe es gerade aufgeräumt und nehme 186 GB meines Platzes! – Dragonborn

19

Auf macOS werden Ihre Crash-Dumps automatisch von Crash Reporter gehandhabt.

Sie können Backtrace-Dateien von Console und gehen Benutzerdiagnose Ausführung Berichte Abschnitt (unter ‚Diagnose- und Nutzungsdaten‘ Gruppe) oder Sie können sie in ~/Library/Logs/DiagnosticReports finden.

Sie können auch überprüfen, wo Dumps generiert werden, indem Sie die Datei system.log, z.

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

Die tatsächlichen Kern Dump-Dateien Sie in /cores finden. auch

Siehe:

Verwandte Themen