技术解析
我有个 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
...
有没有大佬碰到过这种情况呀,一个人整了大半天,实在是整不明白。