您的位置:首页 > 其它

如何程序正常运行的时候,产生core文件

2008-03-13 10:41 465 查看
Two solutions:

Method 1. signal + fork + abort:

pid_t ChildPid;
int Status;
void (*PrevSIGABT)(int);

PrevSIGIOT = signal(SIGABT, SIG_DFL);
ChildPid = fork();
if (ChildPid == NULL)
abort();
else
waitpid(ChildPid, &Status, NULL);

signal(SIGABT, PrevSIGABT);

Method 2. proc + elf generator
open /proc/$pid/mem, /proc/$pid/regs, /proc/$pid/fregs, /proc/$pid/status, /proc/$pid/map
write to elf core file

Method 2 is used by gdb and gcore.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐