xmake 也支持直接加载 gdb 调试器运行编译好的可执行程序来实现断点调试,在开始调试前,我们需要先在当前环境安装下 gdb,在 Xfce 终端输入下面的命令。
sudo apt install -y gdb
gdb 安装完成后,需要在之前的 hello 项目中,将编译配置切换到 debug 模式重新编译程序,使编译好的程序带上符号信息(这个时候会传递 -g 编译选项给 gcc),这样我们才能够在调试器中正常下断点进行源码调试。
因此我们先来重新编译下 debug 版本程序。
xmake f -m debug
xmake
上面的 xmake f -m debug
就是切换的 debug 调试编译模式,保存配置后,重新执行 xmake
就可以编译生成带符号信息的 debug 程序,编译成功后的结果如下。
编译好后,我们就可以加载调试器运行了,还是之前的
xmake run
命令,只不过追加了 -d
参数,告诉 xmake 当前我们需要调试运行程序,xmake 会自动检测当前环境存在的调试器,然后运行它去加载我们的程序。
xmake run -d
如果看到 gdb 已经正常把程序加载了,就可以执行下面的命令在 main 入口函数下个断点,然后