如何配置仅含makefile和源码的C项目,使其可在QtCreator中调试?
使用QtCreator调试Makefile构建的纯C项目操作步骤
前置准备
调试前需要先确保编译生成的二进制带调试符号,修改你的项目Makefile,在编译参数中加入调试选项:CFLAGS += -g -O0
其中-g用于生成调试符号,-O0用于关闭代码优化,避免优化导致断点位置偏移、变量无法读取的问题。
方法1:导入现有Makefile项目(无需修改QMake/CMake配置)
- 打开QtCreator,依次点击顶部菜单栏
文件->新建文件或项目-> 选择导入项目-> 选择现有项目 - 在弹出的配置窗口中,填写自定义项目名称,选择你纯C项目的根目录(Makefile所在目录),点击下一步
- QtCreator会自动扫描目录下的所有文件,按需勾选需要显示的源码文件即可,不需要修改构建配置,默认会直接调用你项目中的
make命令执行构建 - 构建完成后,点击左侧侧边栏的
项目选项,在运行配置页确认需要调试的可执行文件路径正确 - 直接在源码行号左侧点击即可设置断点,点击底部的调试按钮(小虫子图标)启动调试,调试面板支持栈回溯、变量查看、寄存器查看等所有常用调试功能
方法2:直接挂载可执行文件调试(完全不需要生成项目配置)
如果你不想导入项目,仅把QtCreator当作GDB的图形化前端使用,可以用这个方法:
- 先自行在项目目录下执行
make命令完成带调试符号的编译 - 打开QtCreator,依次点击顶部菜单栏
调试->开始调试->启动和调试外部应用 - 在弹出的窗口中,
可执行文件栏选择你编译好的二进制文件,工作目录选择你的项目根目录,参数栏按需填写程序启动参数 - 点击
确定后会直接启动调试会话,断点设置、栈回溯等功能均可正常使用
注意:如果调试时提示找不到符号或断点无法命中,请确认编译时已经添加
-g编译选项,并且没有开启-O2及以上等级的代码优化。
内容的提问来源于stack exchange,提问作者Anon
相关产品推荐
相关产品推荐

