一尘不染

如何以编程方式在C / C ++中引起核心转储

linux

我想在我的C ++应用程序中的特定位置强制进行核心转储。

我知道我可以通过执行以下操作来做到这一点:

int * crash = NULL;
*crash = 1;

但是我想知道是否有更清洁的方法?

我正在使用Linux。


阅读 265

收藏
2020-06-02

共1个答案

一尘不染

提高信号号6(SIGABRT在Linux中)是一种方法(尽管请记住,并非所有POSIX实现中SIGABRT都 必须
为6,因此,SIGABRT如果不是quick’n,则可能需要使用值本身’脏调试代码)。

#include <signal.h>
: : :
raise (SIGABRT);

调用abort()也会导致核心转储,你甚至可以做到这一点 _,而不_通过调用终止你的过程fork(),然后abort()在子-

2020-06-02