理解和管理windows中的c++程序崩溃处理

cetgtptt  于 2022-12-05  发布在  Windows
关注(0)|答案(1)|浏览(116)

我有一个用MinGW编译的c++程序,它链接到libmicrohttpd来运行一个web服务器。它正常工作,但我试图做一些健壮性测试,我目前的测试试图禁用网络接口。这导致程序崩溃与对话框:“MyProgram.exe已停止工作-一个问题导致程序停止正常工作。Windows将关闭该程序并通知您是否有可用的解决方案。”
与其调试程序及其潜在的依赖项,就我的目的而言,如果它只是安静地崩溃而不显示对话框(我有另一个组件用于重新启动它),那就没问题了。这可能通过某种清单或Windows API调用来完成吗?

64jmpszr

64jmpszr1#

原来有一个名为SetErrorMode的Windows API函数。传递参数SEM_NOGPFAULTERRORBOX将防止在崩溃时显示错误对话框。
还有RegisterApplicationRestart函数,可用于在崩溃(或其他可配置的原因)时让Windows重新启动应用程序。

相关问题