【1】服务器的IP为192.168.88.129
gdbserver 192.168.88.129:2345 main
192.168.88.129为服务器自己的IP,2345为要开启的端口号,main为要调试的程序。
注意服务器要把防火墙关掉: service iptables stop,不然客户端连接时会出现“No route to host”错误!
【2】客户端远程调试
gdb
(gdb)target remote 192.168.88.129:2345
其中192.168.88.129为服务器的IP,2345为服务器侦听的端口
注意,客户端进行远程调试时如果找不到符号表,应该将带有调试信息的main与main.c拷贝到客户端,
然后执行file main就可以加载符号表(这里即使用dir指定源文件路径也不行)。
此外,运行应该用c,而不是r,可以在运行过程中设置断点。
远程调试时,输出信息、写文件都是在服务器端执行,客户端看不到printf输出的信息,写文件也只是操作服务器端的文件。
【客户端必须有用-g编译的main以及源代码main.c】
【服务器端不需要main.c,main也不需要用-g编译生成】
【3】如果客户端执行完毕,服务器也会自动退出。