Code::Blocks 20.03调试器如何在逐行执行时step into函数?
解决Code::Blocks 20.03调试无法进入非main函数的问题
1. 开启编译调试信息
- 点击顶部菜单栏
Project->Build options - 选中当前项目的Debug目标,切换到
Compiler settings标签页:- 在
#define区域添加-DDEBUG宏 - 切换到
Compiler flags标签页,勾选Produce debugging symbols (-g)选项
- 在
- 点击
OK后,执行Build->Rebuild重新编译整个项目
2. 确认调试器路径配置正确
- 点击
Settings->Debugger,选择左侧GDB/CDB debugger->Default - 切换到
Executable path标签页,确保GDB路径指向正确的可执行文件(优先使用Code::Blocks自带的匹配版本) - 路径错误时,点击
...按钮选择正确的gdb.exe
3. 关闭编译优化选项
- 回到
Build options的Compiler flags标签页,取消所有带-O前缀的优化选项(如-O1、-O2) - 优化会导致编译器合并或删除函数,调试器无法追踪这些函数的执行流程
4. 检查函数定义有效性
- 若目标函数是
inline内联函数,临时去掉inline关键字后重新编译 - 确认函数有完整的实现,而非仅声明;如果是外部库函数,需确保库文件包含调试信息
5. 规范调试操作步骤
- 启动调试前必须完成全量重建,避免旧编译文件干扰
- 执行到调用自定义函数的代码行时,按下
F7(Step Into)而非F8(Step Over),确保进入函数内部
内容的提问来源于stack exchange,提问作者BsAxUbx5KoQDEpCAqSffwGy554PSah
相关产品推荐
相关产品推荐

