转载请注明出处:http://blog.163.com/tianjunqiang666@126/
1.先安装所需要的环境
sudo apt-getinstall texinfo
sudo apt-getinstall libncurses5-dev
sudo apt-getinstall m4
sudo apt-getinstall flex
sudo apt-getinstall bison
2.到网站http://www.gnu.org/software/gdb/download 下载GDB 我下载的是7.6
3.放置到虚拟机中 我的在根目录下新建的文件夹myqt
解压gdb-7.6.tar.gz
使用命令
开始编译之前确认ARM-LINUX-GCC是否安装好 使用arm-linux-gcc -v
4.编译GDB
解压后进入gdb的解压目录 我的是 /myqt/gdb-7.6
首先设置编译环境配置 禁止掉tui 一般不用这个 ./configure --target=arm-linux --disable-tui --prefix=/myqt/gdb-7.6 -v
要不然在后面的制作gdbserver的时候出现错误
如下图
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img1.ph.126.net/8UepPgP2JS4kyVrTnCMCQg==/6597778951658131156.jpg)
之后会生成makefile文件,文件生成后使用:
make
make命令执行完之后
make install
3.查看生成的文件
在 gdb-7.6/bin目录下
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img0.ph.126.net/N0RZqucGDV_milQgtGIAiw==/3284812978313577669.jpg)
4.编译GDBserver
进入文件夹 /myqt/gdb-7.6/gdb/gdbserver
设置环境 export PATH=/myqt/gdb-7.6/bin:$PATH
配置 ./configure --target=arm-linux --host=arm-linux --prefix=/myqt/gdb-7.6/gdb/gdbserver
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/lIUCky6lfKFvQw945P__QQ==/814307107724032007.jpg)
配置完之后
使用命令 make CC=arm-linux-gcc
查看文件夹下/myqt/gdb-7.6/gdb/gdbserver 已经生成的文件
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/Rs3C9-ZhygLspFVGyTvScQ==/3913628076285203312.jpg)
5 前面已经设置完成生成gdbserver这个文件
下面是设置QT实现远程调试
第一步是设置搭建nfs文件系统 前面的文章我完成了设置 参见博文
http://blog.163.com/tianjunqiang666@126/blog/static/872591192012430435847/
文件系统搭建好之后就是传递文件设置了 我把生成好的文件都放到共享目录中 即根文件夹下/myqt文件夹中
从虚拟机上看到
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/0q4WNQzqR4_IPmIBAmNLKw==/3368411046396645635.jpg)
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img1.ph.126.net/mOkObs9GLK6QB_ESiTcRbg==/3173067412559431384.jpg)
6 QT的设置
使用QT新建一个工程 这里不再多说 我新建的一个界面是按下按钮数字加1
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img1.ph.126.net/sgWVuA0y0vzDnyCpWg5DhQ==/737182964105312230.jpg)
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img0.ph.126.net/dAVh9hA2z8vI2f7wfhwhJw==/3866903230151176158.jpg)
注意:多次调试尝试失败后发现:QT断点调试是以可执行文件支持调试为基础的,所以设置工程文件需要加上debug支持,否则断点是无法命中的
故 修改工程文件
加入调试支持
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/qMl6DFzL8jAYeT-iVmo3TQ==/6598293523099736192.jpg)
参考博文 OK6410运行helloworld
http://blog.163.com/tianjunqiang666@126/blog/static/87259119201241984139901/
7.在板子上启动gdbserver
注: 板子IP 192.168.1.232 PC虚拟机IP 192.168.1.233
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img0.ph.126.net/GhiHlHCAlAUxMXUrPePskQ==/2012546083581295278.jpg)
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/Cllo00T28vuH9wgUdaZk6w==/6597921888169748876.jpg)
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/I7062gz-cbWMdGpWEkIdeg==/6598233049960191890.jpg)
之后启动调试
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img1.ph.126.net/9ILwbeerUFL3G_Jp-UmeuQ==/3883791728753828188.jpg)
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/F4bEYaF9FiEEl7cWT0l8Bw==/6597329251401873485.jpg)
使用鼠标点击按钮 可看到QT中的断点已经命中,这时还能查看变量的值
![QT使用GDB调试开发板 - 寒江独垂 - 寒江独垂](http://img2.ph.126.net/ZssLcYH5Lmu0IsFaJ1Tt2A==/3406410168252600581.jpg)