如何处理故意触发的断点

时间:2017-04-16 22:05:48

标签: c++

让我们说我故意放了类似的东西;我的代码中*((int*)0xffffffff) = 1;。当执行上面的代码行时,如何防止我的应用程序崩溃(触发断点)?

我尝试用" catch-all-exceptions"来处理这种情况。声明; catch(...) {/*Do something*/},只是为了看看这是否可以解决我的问题。正如所料,它没有捕获任何异常,我的应用程序崩溃了。

此行(*((int*)0xffffffff) = 1;)是否会导致我的操作系统崩溃?
执行这行代码时我能期待什么?
我可以采取什么方法来故意触发断点?

我想要实现的目标是什么?

我正在异构环境(经典C和C ++)中研究异构系统(CPU和GPU)。

正如人们所料,我正在努力创造一个统一的"错误控制系统。

在我的应用程序的某一点,抛出异常是一个不受支持的功能(经典的C代码),我想触发一个断点(只是为了报告错误)。然后"赶上"那"错误" (在C ++代码块中),处理它,并恢复"正常"程序执行。

创建枚举类型以存储错误代码,然后从函数返回足够的错误代码,不是一种选择。

系统和问题规范:

操作系统:Windows 8.1 x64
IDE: visual studio 2015更新3.
断点将被抛出"来自:经典C代码。
断点将被捕获" in: C ++代码。

0 个答案:

没有答案