首页 > 解决方案 > 如何在交流程序中显示错误(Windows 10)

问题描述

这个简短的 c 程序有一个被零除的错误。

#include <stdio.h>

    int main( int argc, const char* argv[] )
    {
        printf( "start\n" );
        int x = 0;
        printf("%d", 2/x);
        printf("end\n");    
    }

当我编译cl /Od /Zi /EHsc main.c它并在控制台中运行它时,输出只是“开始”。没有错误消息或弹出窗口或有关错误的任何信息。如果我在可视代码调试器中运行它,它会将除以零罚款。我也用 tcc 编译过,完全一样。

这是正常行为吗?如果是这样,我至少可以显示除以零已经发生(在调试器之外)。如果不是,我的 Windows 10 机器上的什么可以防止显示错误?

编辑:只是为了说清楚:

我原以为我会看到类似"Unhandled exception at 0x00f5144b in main.exe: 0xC0000094: Integer division by zero."(或类似)的东西当我取消引用空指针时会发生完全相同的事情,程序只是停止而没有错误消息。

标签: cwindowscompiler-errors

解决方案


推荐阅读