gdb+gdbserver跨平台调试

来源:互联网 发布:有哪些数据开放平台 编辑:程序博客网 时间:2024/05/20 11:52

一、编译安装gdb+gdbserver

Host:Win10

下载MinGW,同时下载msys用来编译gdb源码。


进入msys目录,下载expat源码,解压到该目录,双击运行mysy.bat。


编译安装expat:

cd /cd expat-2.1.0./configuremake && make install


下载gdb-7.12.1,解压到msys.bat同目录。

cd /cd gdb-7.12.1cd gdb./configure --target=x86_64-linux-gnu --program-prefix=x86_64-linuxmake && 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 suecho 123 > /dev/ttyS1

如果host中收到数据,则串口设备为S1,否则尝试其他S2或者其他。

三、编译程序

在target中编译调试的源文件:-g参数必要,ldd查看程序的依赖库,之后将依赖的库源文件目录下。将整个文件夹拷贝到host主机。



四、开始调试

target运行gdbsever


host运行刚才编译好的gbd:






0 0