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

如何解决Code::Blocks搭配MSYS2调试时的crt.exe.c找不到错误

问题
  • 通过MSYS2安装GNU GCC和GDB,使用命令:
    pacman -Syu
    pacman -S --needed base-devel mingw-w64-x86_64-toolchain
    
  • 已添加环境变量 C:\msys64\mingw64\bin,并修改Code::Blocks中的编译器路径
  • 程序编译并运行正常,但调试时在main函数最后一行弹出错误:

    C:\M\B\mingw-w64\crt\crt.exe.c not found

  • 测试过其他MinGW版本(如8.1.0)调试正常,Cygwin调试也能正常启动并完成
解决办法
  • 安装CRT调试符号包
    MSYS2默认的工具链包不含CRT的调试符号,导致GDB无法定位crt.exe.c的源码映射。打开mingw64终端,执行:
pacman -S mingw-w64-x86_64-crt-debug

安装后重新调试,该错误会消失。

  • 直接忽略错误
    这个错误不影响自身代码的调试流程——只是程序退出时GDB尝试追踪CRT收尾代码却找不到源码。弹出提示时选择跳过,即可正常完成调试。

  • 配置GDB自动跳过CRT文件
    在Code::Blocks的调试设置中,找到GDB初始化命令区域,添加:

set skip-file-regex "crt.*\\.c"

GDB会自动忽略所有CRT相关的.c文件,不会再触发该错误提示。

内容的提问来源于stack exchange,提问作者이예준

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:32:40