首页 > 解决方案 > 如何在 Windows 中取回普通的旧“分段错误”消息?

问题描述

我在 Windows 10 开发环境中遇到了一种奇怪的行为。

我编译以下代码(mingv gcc-8.1.0)

int main(){
    char* x = nullptr;
    std::cout<<*x<<std::endl;
    return 0;
}

当我在 cmd 或 powershell 窗口中运行该程序时,它会输出一个空行,等待几秒钟,然后返回提示。

我很想让它打印“分段错误”并立即退出,如上帝所愿。

如果我在 GDB 中运行程序,则会正确显示错误 ( Thread 1 received signal SIGSEGV, Segmentation fault.)。

有人可以解释为什么会这样做,以及是否有办法获得所需的行为?

相关:为什么我的代码在 Windows 7 上不会出现段错误?

标签: windowsgccsegmentation-faultmingw

解决方案


推荐阅读