I want a C program to produce a core dump under certain circumstances. This is a program that runs in a production environment and isn\'t easily stopped and restarted to adj
Do you really want a core, or just a stacktrace ? If all you want is a stacktrace you could take a look at the opensource here and try and integrate the code from there, or maybe just calling it from the command line is enough.
I believe some code in the gdb project might also be useful.
Another think you might want to do is to use gdb to attach to a running process.
$ gdb /path/to/exec 1234 # 1234 is the pid of the running process