Alguns anos atrás, o Google lançou a biblioteca coredumper .
Visão geral
A biblioteca coredumper pode ser compilada em aplicativos para criar core dumps do programa em execução - sem encerrar. Ele oferece suporte a core dumps simples e multithread, mesmo se o kernel não oferecer suporte nativo a arquivos core multithread.
O Coredumper é distribuído sob os termos da Licença BSD.
Exemplo
Este não é um exemplo completo; ele simplesmente dá uma ideia de como é a API coredumper.
#include <google/coredumper.h>
...
WriteCoreDump('core.myprogram');
/* Keep going, we generated a core file,
* but we didn't crash.
*/
Não é o que você estava pedindo, mas talvez seja ainda melhor :)