麻了, gdb 远程调试连不上

rainboat 27天前 18

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

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

最新回复 (3)
  • DarkCat123 22天前
    引用 2
    telnet 看看端口通不通,服务器看看 端口有没有 listen,检查两边防火墙 iptables 。
  • 楼主 rainboat 22天前
    引用 3
    @DarkCat123
    使用 telnet 貌似可以通,下面是执行情况
    $ telnet 118.202.11.76 1234
    Trying 118.202.11.76...
    Connected to 118.202.11.76.
  • 楼主 rainboat 22天前
    引用 4
    @DarkCat123 谢谢兄弟,是防火墙的问题,解决了
  • 游客
    5
返回