sho*_*osh 9 linux coredump signals segmentation-fault
当我的应用程序崩溃时出现分段错误,我想从系统中获取核心转储.我通过先手配置来做到这一点
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
我还想在我的应用程序日志中指出已发生分段错误.我这样做是通过使用sigaction().但是,如果我这样做,则信号不会达到其默认处理,并且不会保存核心转储.
如何让系统核心同时从我自己的信号处理程序转储日志行?
SIGSEGV以调用自定义日志记录功能.以下是使用以下示例程序signal:
void sighandler(int signum)
{
myLoggingFunction();
// this is the trick: it will trigger the core dump
signal(signum, SIG_DFL);
kill(getpid(), signum);
}
int main()
{
signal(SIGSEGV, sighandler);
// ...
}
Run Code Online (Sandbox Code Playgroud)
同样的想法也应该适用sigaction.