c - 如何在交流程序中显示错误(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."
(或类似)的东西当我取消引用空指针时会发生完全相同的事情,程序只是停止而没有错误消息。
解决方案
推荐阅读
- javascript - 如何合并两个Json
- java - 将二维数组的列拆分为单独的二维数组
- c++ - 什么是“2 的幂”和“单词”?
- r - 在光栅 tiff 文件中查找第二个最小值
- reactjs - Redux - 未显式调用时调度操作
- ios - 如何在 Swift 中实现这种圆形视图
- python - Python 修改 csv 文件,复制和格式化列,并保存输出
- python - Discord.py - 如何使“客户端”变量支持“消息”?
- arrays - 在 Postgresql 中提取 jsonb - 同一 jsonb 字段中的字典和数组结构
- visual-studio-code - 在 Webview [vscode-extensions] 的外部 html 文件中加载外部 js