一、编译安装gdb+gdbserver
Host:Win10
下载MinGW,同时下载msys用来编译gdb源码。
进入msys目录,下载expat源码,解压到该目录,双击运行mysy.bat。
编译安装expat:
cd /
cd expat-2.1.0
./configure
make && make install
下载gdb-7.12.1,解压到msys.bat同目录。
cd /
cd gdb-7.12.1
cd gdb
./configure --target=x86_64-linux-gnu --program-prefix=x86_64-linux
make && make install
configure参数取决于target的平台信息,这里我的target端为x86_64-linux-gnu。
注意,必须进入gdb-7.12.1/gdb下configure才可以,否则编译使用的版本会因为各种原因奔溃!
注意,必须安装expat,否则编译使用的版本会因为各种原因奔溃!
注意,MinGW和gdb版本必须合适,否则编译无法通过。
总之,会出现各种奔溃或者错误。
Target:Ubuntu14
sudo apt-get install gdbserver
二、配置串口
因为我安装的是虚拟机,所以需要安装虚拟串口vspd,然后安装串口调试助手,测试host和target可通讯。
这里,target采用COM3,在串口中打开COM4,在target下:
sudo su
echo 123 > /dev/ttyS1
如果host中收到数据,则串口设备为S1,否则尝试其他S2或者其他。
三、编译程序
在target中编译调试的源文件:-g参数必要,ldd查看程序的依赖库,之后将依赖的库源文件目录下。将整个文件夹拷贝到host主机。
四、开始调试
target运行gdbsever
host运行刚才编译好的gbd: