1.在Linux上安装gdbserver
对于debian,执行:apt-get install gdbserver

2.在Windows上编译用于远程调试Linux程序的gdb
下载gdb源码,使用msys,在源码目录下执行:

./configure --target=i686-pc-linux-gnu --prefix=/d/gdb7.5/
make
make install

之后可在D:\gdb7.5\bin目录下得到i686-pc-linux-gnu-gdb.exe

如果不想自己编译,可以下载Windows版本的[Sourcery CodeBench Lite Edition for IA32 GNU/Linux],它是一套在Windows下编译Linux程序的交叉编译环境。地址:https://sourcery.mentor.com/GNUToolchain/subscription10027lite=IA32?lite=ia32

3.调试
3.1 在Linux编译自己的代码

gcc -g xxx.c -o xxx

得到elf格式的可执行文件xxx。

3.2 在Linux(此Linux机器的IP为192.168.0.2)上启动gdbserver

gdbserver 192.168.0.2:8000 xxx

可以看到输出:
Process xxx created; pid = 1750
Listening on port 8000

3.3 在Windows使用eclipse cdt远程调试
将xxx.c,xxx复制到Windows的某个目录下,用eclipse新建一个空项目,将xxx.c添加到项目中。
在eclipse菜单 "运行" -> "调试配置" 中做如下设置:
a.新建一个"C/C++ Remote Application"调试配置;
b.选择启动程序方式为:"GDB(DSF)Manual Remote Debugging 启动程序";
c.C/C++程序框中选择"xxx"可执行文件的路径;
d.选中"Disable auto build";
e.在"调试器" -> "主要"选项卡中设置gdb调试器为刚才编译的i686-pc-linux-gnu-gdb.exe;
f.在"调试器" -> "连接"选项卡中设置IP和端口分别为192.168.0.2,8000;
g.点击调试。

 

备注:使用Sourcery CodeBench Lite Edition for IA32 GNU/Linux + Eclipse + CDT,可以方便的在Windows下编译调试Linux程序。


本文链接地址: 用gdb,gdbserver,eclipse+cdt在windows上远程调试linux程序
http://qingfengju.com/index.asp?id=303

分类:Linux 查看次数:9745 发布时间:2012-11-21 23:59:42