You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Visual Studio Code运行C程序时输出详细崩溃错误信息

让VS Code显示C程序崩溃的详细错误信息

一、明确调试器依赖逻辑

VS Code的C/C++调试功能完全依赖底层调试器,不同调试器的错误信息输出能力不同:

  • 若使用MinGW套件的GDB调试器,需手动配置参数让它捕获并输出崩溃细节;
  • 若复用VS2017的MSVC工具链调试器,可直接获得和VS2017一致的错误提示。

二、MinGW(GDB)调试器配置步骤

  1. 打开VS Code调试面板,点击齿轮图标打开launch.json配置文件;
  2. 在"type": "cppdbg"的调试条目里,添加或修改以下参数:
    "miDebuggerArgs": "-ex \"set breakpoint pending on\" -ex \"set print frame-arguments all\" -ex \"set print pretty on\"",
    "stopAtEntry": false
    
    这些参数会让GDB在程序崩溃时自动暂停,输出调用栈、内存访问违规的具体位置等细节;
  3. 保存配置后重新调试,崩溃时调试控制台会显示段错误类型、违规内存地址、函数调用链等信息。

三、复用MSVC工具链的配置步骤

如果系统已安装VS2017,可直接让VS Code调用其调试器:

  1. 打开Developer Command Prompt for VS 2017,在该命令行中启动VS Code,确保环境变量加载MSVC工具链;
  2. 在launch.json中添加MSVC调试配置:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "MSVC Debug",
                "type": "cppvsdbg",
                "request": "launch",
                "program": "${workspaceFolder}/你的程序.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "console": "integratedTerminal"
            }
        ]
    }
    
  3. 使用该配置调试程序,崩溃时会直接输出和VS2017一致的访问违规提示,包含错误类型、内存地址、调用栈等完整信息。

四、额外注意事项

  • 确保VS Code的「Microsoft C/C++」扩展为最新版本,旧版本可能存在调试信息显示不全的问题;
  • 若崩溃时调试器未自动暂停,检查launch.json中"stopAtEntry"是否设为false,并确认调试器已正确关联程序进程。

内容的提问来源于stack exchange,提问作者Michael Morozov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:44:59