问题:
- 当目标位于远程主机上时,是否可以调试?
例子:
# ddd --debugger /usr/bin/bashdb <sript-name> (on remote host)
例子:
# ddd --debugger /usr/bin/bashdb <sript-name> (on remote host)
如那里所述,在目标(远程)机器上使用 gdbserver 。 然后按照 gdb 远程调试的配置步骤(查找 gdb 文档),在 ddd 控制台窗口中键入命令(这是到 gdb 提示符的传递)。
这可能是这样的(例如,如果您到目标的链接是 USB 到串行链接):
(gdb) set remotebaud 115200
(gdb) target remote /dev/ttyUSB0
或者
(gdb) target remote the-target:2345
使用 TCP 端口 2345 调试 IP the-target 上的 gdbserver。
您可以做的是 ssh 进入远程主机,并将$DISPLAY
变量设置为指向您的本地主机,以便 ddd 的 GUI 在那里打开:
首先查找您的当前$DISPLAY
:
mylocalhost:~> echo $DISPLAY
mylocalhost:1
假设您当前的 X 客户端在端口 1 上。
现在将遥控器设置$DISPLAY
为指向您的本地计算机:
mylocalhost:~> ssh remotehost
remotehost:~> setenv DISPLAY mylocalhost:1
现在启动ddd:
remotehost:~> ddd <whatever parameters you want>
请注意,在执行此操作之前,您可能必须打开本地 X 客户端以进行远程连接。这是如何:
mylocalhost:~> xhost +
试试 xming server + putty 便携版,它非常适合远程调试。我正在使用它在 linux VM 中毫无问题地调试我的代码。
http://www.straightrunning.com/XmingNotes/ https://wiki.utdallas.edu/wiki/display/FAQ/X11+Forwarding+using+Xming+and+PuTTY