How to generate core dump file in Ubuntu

user496934 picture user496934 · May 27, 2011 · Viewed 80.7k times · Source

I would like to know how to generate a core dump file in Ubuntu. I am using Ubuntu 8.04.1 and gcc compiler 4.2.3. I have written a simple C program to generate a core dump. I have compiled the program as in -- gcc -g badpointer.c . When I run the program its gives segmentation fault but no core dump is generated. What additional things do i have to do to generate a core dump file ?

Answer

kenorb picture kenorb · Aug 25, 2013

Linux

Activate your coredumps by the following command:

ulimit -c unlimited

Also, check the core_pattern value by:

sysctl kernel.core_pattern

to see where your dumps are created (%e will be the process name, and %t will be the system time).

You can change it in /etc/sysctl.conf and then reload by sysctl -p.

You can test it by:

sleep 10 &
killall -SIGSEGV sleep

If core dumping is successful, you will see “(core dumped)” after the segmentation fault indication. Otherwise double-check your ulimits again.

See also:


Ubuntu

If you've Ubuntu, your dumps are created by Apport in /var/crash, however it's disabled by default.

For more details, check: Where do I find the core dump in Ubuntu?


macOS/OS X

In macOS, crash dumps are automatically created by Crash Reporter in form of backtraces. You can find these crash files by executing Console and going to 'User Diagnostic Reports' section (under 'Diagnostic and Usage Information' group) or you can locate them in ~/Library/Logs/DiagnosticReports.

The actual core files are generated in /cores.

Read more: How to generate core dumps in Mac OS X?