繁体   English   中英

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

How to disable crash dumps programatically in c++?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

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

1 个回复

我认为这里的要求不正确。 程序本身无法捕获很少的信号。 SIGSEGV(当您访问无效的内存/ NULL时引发)是其中之一。 没有操作系统会公开一个界面,您可以在该界面上以程序方式控制SIGSEGV。 那将是非常糟糕的OS设计。

最好重写单元测试,该测试应仅检查值(如Joachim所建议),而不会使应用程序崩溃。 崩溃测试属于系统测试,不在单元测试范围内。

1 以编程方式打开核心/崩溃转储

我知道我可以运行“ulimit -c unlimited” 在shell中打开当前用户的核心转储。 我想知道的是如何从C编程? 我看到有一个ulimit调用,但它已被弃用,支持get / setrlimit。 我想知道的是对setrlimit的等效调用是什么允许生成故障转储? ...

2011-11-15 22:34:38 1 5108   c/ linux
9 如何以编程方式禁用C#中的默认代理?

在.net程序中,如果要停止Web调试代理通过将IE / Edge代理端口设置为自身来捕获来自程序的请求,则可以使用App.config将默认代理设置为false。 通过这种方式,我们可以在某种程度上保护内部机制。 但是,如果用户想要破解程序具有CS的基本知识,则该配置是裸露的,用户可以轻松 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM