gdb+gdbserver跨平台调试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/axiqia/article/details/68945468

一、编译安装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:






猜你喜欢

转载自blog.csdn.net/axiqia/article/details/68945468
今日推荐