本文目的:最近须要linux远程调试c/c++程序,因此在网上搜了不少教程.但到最后大多不如人意,说到底网上文章一大抄,着实可恨!好比我搜"eclipse 远程调试 linux" 获得的确实 "在Windows上用Eclipse远程调试Linux下的C++程序 实战windows7 下eclipse 远程调试 linux Windows 下使用Eclipse CDT 远程调试Linux C/C++ 程序",我就擦了,这妹的什么跟什么啊!没办法只好本身动手并根据网上总结一套可用的方法了.linux
本文平台:本文所讲的是linux平台,固然看完本文后windows平台的也是同样的原理,基本上一通百通了.c++
一:windows
linux远程调试原理( server+client):服务器
1.server:gdbserverapp
命令: gdbserver ip:port appname(进程名)eclipse
一般用下面这个命令:
gdbserver ip:port --attach 22552(进程id).net
2.client:gdbdebug
命令: 终端输入gdb进去gdb 而后输入 target remote ip:port调试
3.截图以下:server
server:
client链接上后:
client:
二:linux eclipse下的远程调试(固然前提是你所要调试的服务器 gdbserver已经开启了):
1.打开 debug configurations
2.建立一个自定义的 debug设置
3.设置 debug的种类
这里有三种种类 咱们选择 gdb dsf manual remote debugging launcher (就是调试的时候 咱们手动设置gdb参数进行调试)
其它两种的区别就由读者本身试验了,这里并不说明.
设置gdb ip port:
运行调试 选中本身刚刚定义的种类:
调试结果以下:
结束语:调试的时候最好保证gdbserver 和gdb 的版本一致不然可能出现不少无解的问题.注意本身linux服务器的防火墙是否开放了该端口.其实很简单就是server + client 的调试方式.如读者有疑问可在评论中发表.欢迎拍砖!