linux调试中coredump文件生成

 Linux调试中,coredump文件产生要两个条件:

一是允许core文件产生,例如你设置  ulimit -c unlimited。并且对core文件的产生目录(也就是工作目录)要有写权限。

二是程序收到了产生core文件的信号,例如SIGABRT信号。

满足这两个条件才能产生coredump,跟编译时加-g没关系。


在下列条件下不产生core文件:

(a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;

(b )进程是设置--ID,而且当前用户并非该程序文件的组所有者;

ab可以通过设置/proc/sys/kernel/suid_dumpable来改变,这样suid的也可以产生core文件

(c )用户没有写当前工作目录的许可权;

( d )文件太大。core文件的许可权(假定该文件在此之前并不存在)通常是用户读/写,组读和其他读。



猜你喜欢

转载自blog.csdn.net/u012635648/article/details/80257530