在嵌入式开发中,如何使用QT去调试程序是很重要的。除了传统的qDebug打印调试之外,GDB也是业界公认的调试利器。在嵌入式环境中使用GDB相对麻烦一些,主要是利用开发板上的gdbserver和PC中虚拟机环境下的GDB联合调试。
sudo apt-getinstall texinfo
sudo apt-getinstall libncurses5-dev
sudo apt-getinstall m4
sudo apt-getinstall flex
sudo apt-getinstall bison
配置:cd gdb-7.7 ./configure --target=arm-linux
编译:make
安装:make install prefix=/home/clark/QtEnv/gdb-7.7/ (prefix后面时安装位置)
cd gdb/gdbserver
配置: ./configure --target=arm-linux --host=arm-linux
编译:make CC=arm-linux-gcc (arm-linux-gcc是你开发板的交叉编译器,并且已经加入到环境变量中)
编译成功后就在gdb/gdbserver目录下生成了gdbserver可执行文件,把它放到开发板中就可以了。
在开发板上,执行 ./gdbserver 192.168.0.69:1231 ./app
其中192.168.0.69是开发板的IP地址,1231是自定义的端口号,app就是要调试的可执行文件。
显示如下,说明gdbserver已经在运行了。
process filename created; pid = 319
Listening on port 1231
在构建中,添加我们编译完成的GDB
进入调试-->开始调试-->Attach To Running Debug Server
服务器端口就是开发板上自定义的端口号,override server address就是开发板IP地址,本地执行文档就是开发板中的app文件。设置好这些后,就可以调试了。