技术解析

麻了, gdb 远程调试连不上
0
2021-06-03 19:14:22
idczone

我有个 centos8 远程主机,ip 地址是学校分配的公网地址,在学校的教育网范围内可以任意访问,最近使用这个东西来远程调试 C++代码,发现 gdb 一直都连不上。

服务器端端开启 gdbserver 的命令和结果如下:

gdbserver :1234 nebula-美国服务器graphd  --flagfile /home/xxx/nebula-graph/install/etc/nebula-graphd.conf
Process /home/xxx/nebula-graph/install/bin/nebula-graphd created; pid = 4007
Listening on port 1234

然后我从 MacOS BigSur 上用 gdb 命令来连接,结果如下:

(gdb) target remote ip 地址:1234
ip 地址:1234: Operation timed out.

简而言之就是死活都连不上去。但是奇怪的是我 ssh 可以连接到远程主机,而且使用远程主机上的 gdb 就可以连接上开启的 gdbserver 。如下是 ssh 到远程主机后,执行 gdb 调试的结果:

(gdb) target remote localhost:1234
Remote debugging using localhost:1234
...

有没有大佬碰到过这种情况呀,一个人整了大半天,实在是整不明白。


telnet 看看端口通不通,服务器看看 端口有没有 listen,检查两边防火墙 iptables 。


使用 telnet 貌似可以通,下面是执行情况
$ telnet 118.202.11.76 1234
Trying 118.202.11.76...
Connected to 118.202.11.76.

谢谢兄弟,是防火墙的问题,解决了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服