如何在c ++中以编程方式禁用崩溃转储?

时间:2015-03-31 07:41:06

标签: c++ c

我正在编写一个单元测试应用程序,我想让其中一种方法失败。为此,我将NULL参数传递给方法。但这会导致下游的崩溃转储。那么我们如何通过代码禁用崩溃转储生成?

我希望会有一些注册表设置,可以通过代码更改。

1 个答案:

答案 0 :(得分:0)

我认为此处的要求不正确。程序本身无法捕获的信号很少。 SIGSEGV(当您访问无效内存时会引发/ NULL)是其中之一。没有操作系统会暴露出可以在程序中控制SIGSEGV的接口。那将是非常糟糕的操作系统设计。

最好重写单元测试,它应该只检查值(按照Joachim的建议),而不是使应用程序崩溃。崩溃测试属于系统测试,不属于单元测试范围。