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

如何使用i686-w64-mingw32-c++编译带调试信息的程序?

如何用i686-w64-mingw32-c++生成带调试信息的程序

你使用的-debug并非MinGW-w64编译器(基于GCC)的标准调试选项,所以不会产生任何效果。要生成带调试信息的可执行文件,需使用GCC体系的调试参数:

  • 基础调试信息生成:使用-g参数,这会生成适配本地调试器的标准调试信息(MinGW-w64默认会生成对应平台的调试格式,如DWARF或PE格式)。示例编译命令:

    i686-w64-mingw32-c++ -g your_program.cpp -o your_program.exe
    
  • 更详细的调试信息:若需要包含宏定义、完整符号表等更多细节,可使用-g3参数,它提供比-g更丰富的调试数据:

    i686-w64-mingw32-c++ -g3 your_program.cpp -o your_program.exe
    
  • 指定调试信息格式:如果需要针对特定调试器适配格式,可追加格式指定参数,比如针对旧版调试器的-gstabs,或指定DWARF版本的-gdwarf-2:

    i686-w64-mingw32-c++ -gdwarf-2 -g your_program.cpp -o your_program.exe
    

额外注意:编译时尽量避免使用-O1、-O2这类优化参数,代码优化会改变执行流程、消除变量,导致调试时无法正确对应源码行或查看变量。如果需要兼顾少量优化和调试,可使用-Og参数,这是专门为调试场景设计的优化选项,会保留调试所需的关键信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:33:22