麻了, gdb 远程调试连不上

2021-04-14 22:09:35 +08:00
 rainboat

我有个 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
...

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

1945 次点击
所在节点    程序员
3 条回复
DarkCat123
2021-04-14 22:11:33 +08:00
telnet 看看端口通不通,服务器看看 端口有没有 listen,检查两边防火墙 iptables 。
rainboat
2021-04-14 22:14:27 +08:00
@DarkCat123
使用 telnet 貌似可以通,下面是执行情况
$ telnet 118.202.11.76 1234
Trying 118.202.11.76...
Connected to 118.202.11.76.
rainboat
2021-04-14 22:21:05 +08:00
@DarkCat123 谢谢兄弟,是防火墙的问题,解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/770705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX