gpt4 book ai didi

c++ - 在 win32 进程崩溃时防止模态对话框

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:01 24 4
gpt4 key购买 nike

我们有一个用于夜间构建的遗留构建基础设施(在 Perl 中实现)来编译、链接和单元测试我们的应用程序/插件。在 Windows 上,如果单元测试过程崩溃,则会弹出一个模态对话框,“锁定”我们的构建场。

有没有办法(win32 API 调用、系统配置、env var 等...)禁用此行为,让子进程在崩溃时立即终止,而不是模式对话框和非零退出状态?

谢谢,--DD

PS:我们在 Windows 上使用 SEC(结构化异常处理)进行编译,以便能够使用 catch(...)“捕获”崩溃,因此大部分时间都避免了这个问题,但有时这还不够,因为当然有些崩溃是不可恢复的(例如,如果它们损坏了堆栈)。

最佳答案

根据对话发起人的不同,您可能需要结合使用多种方法。

    SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);

...将关闭一组对话框。

关于c++ - 在 win32 进程崩溃时防止模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1861506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com