目前我们正在使用 opengl 在 linux box 上开发图形应用程序。我们在让一个像样的调试器工作时遇到了一些麻烦。目前我们通过 ssh 连接使用 GDB,但这有点痛苦。接下来,我们尝试在目标平台上运行 DDD,但屏幕空间不足。接下来,我们尝试在 Windows 上通过 cygwin 运行 xserver,并在 linux 机器上执行“export DISPLAY=RemoteHost:0.0”。在这种情况下,DDD 将在 windows box 上运行,但是当我们启动应用程序时,它也想将其输出通过管道传输到 windows box。
我们真正想要做的是在我们的 windows 机器上有 DDD 输出,在 linux 机器上有主应用程序的输出。
我不是 x11 大师,我希望在这方面得到一些帮助。
干杯
詹姆斯
最佳答案
登录到 linux box 时:
DISPLAY=windows-box:0 ddd /path/to/app
DDD
现在应该会在您的窗口框上弹出。如果您此时运行应用程序,它也会尝试在窗口框上显示,因为 DISPLAY
环境变量是继承的。您需要重置它:
(gdb) set env DISPLAY :0
(gdb) run
此时,应用程序应根据需要显示在 linux 盒子上。
许多应用程序接受-display
命令行参数。如果您这样做,另一种方法是这样做:
(gdb) run -display :0
而不是重置 DISPLAY
环境变量。
关于windows - 帮助linux下远程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1937723/