Penguin
Note: You are viewing an old revision of this page. View the current version.

Under Unix style OperatingSystems, when a program is terminated abnormaly (SIGSEGV, SIGABRT, etc.) and permissions allow (the current working directory is writable, ulimit(1)s permit), the Kernel dumps a copy of the program's address space, as well as the state of all the registers and any other state that's required to a file, usually called core or core.programname.

Programs such as gdb(1) can then parse these core files and give you some indication about why the program crashed.

strings core | grep ^_=

or

file core

will usually tell you what program caused the core file. You can then use

gdb program core

gdb has several commands you can use to inspect the core file, however the most useful of them is bt full, which provides a "full backtrace". That is usually enough information for a programmer to figure out why the program crashed.

Doing this when emailing a bug report about a program that crashed will greatly improve the chances that the programmer will be able to find and fix the bug you encountered.