gdb无法启动 - DDD到远程劣质调试器

时间:2016-12-14 20:46:53

标签: gdb ddd-debugger rsh inetd

我试图将DDD附加到远程计算机上的gdb。我已将rsh配置为不需要通过我的机器&用户名。

ddd打开" rtx5:1234:未找到"并且无法启动带有" GDB的弹出窗口"。从调用ddd --host rtx5:2159 --trace --no-exec-window / home / murray / beer-process

#  Running GDB (pid 2826, tty /dev/pts/1)...
#  Current language: C/C++
#  Searching "vsllib/ddd.vsl"...
#  Trying "/home/murray/.ddd/vsllib/ddd.vsl"
#  Trying "/usr/share/ddd-3.3.12/vsllib/ddd.vsl"
#  Searching "vsllib/ddd.vsl"..."/usr/share/ddd-3.3.12/vsllib/ddd.vsl".
<- "sh: line 0: exec: rtx5:2159: not found\n"
#  Running GDB (pid 2826, tty /dev/pts/1)...Exit 127.

由跟踪日志中的ddd启动的GDB的PID是4位数。但是,我从rtx(目标)看到的所有PID都是8位数。我无法将gdb视为一个进程,但跟踪日志另有说明。文档是否过时,我调用的不正确?如何测试ddd是否正确rsh?

我已经解决了docs 2.4.1

的警告
  • Beer-process二进制文件位于目标用户名的主目录中。
  • 检查/ usr / bin / gdb
  • 中gdb的路径
  • rtx5没有xterm,因此包括--no-exec-window flag

提前致谢

1 个答案:

答案 0 :(得分:0)

TLDR:主机上的防火墙只干扰ddd的rsh连接。我还必须用“rtx5”代替“'rsh rtx5'”。它不会找到我传递它的程序,即使它在远程目标的主目录中。但是,我可以使用ddd-gui来查找,加载和调试它。

我可以在没有密码的情况下rsh到rtx5,然后调用gdb。 我不能做“rsh rtx5 gdb”并让gdb启动。这是由于rsh。如果在没有命令的情况下调用rsh,它将在514中运行。如果使用命令调用rsh,它会进行通信并尝试移动到不同的端口号。这是我的防火墙阻止它的地方 在rsh连接后,Wireshark向我展示了从本地到目标:

destination unreachable (host administratively protected) 

ddd仍有问题,主要是我无法加载远程主目录中的二进制文件。这扩展了问题,扩展到附加到远程主机上正在运行的进程。在这两种情况下,一旦建立连接,我就可以通过gui加载/连接 此外,我必须在远程主机名前加上'rsh'来调用ddd。这似乎是错的。当我有更多时,我会更新。