在linux下帮助远程debugging

目前我们正在使用opengl在linux上开发一个graphics应用程序。 我们有一个麻烦得到一个体面的debugging工作。 目前我们通过ssh连接使用GDB,但是这是一个很痛苦的事情。 接下来我们尝试在目标平台上运行DDD,但是屏幕上的空间不足。 接下来,我们尝试在Windows上通过cygwin运行xserver,并在Linux机器上执行“export DISPLAY = RemoteHost:0.0”。 在这种情况下,DDD将运行在窗口框中,但是当我们启动应用程序时,它也想将其输出pipe道输出到窗口框。

我们真正想要做的是在我们的窗口框上输出DDD,并在linux盒子上输出主应用程序。

我不是一个x11的大师,我会喜欢在这方面的一些帮助。

干杯

詹姆士

在登录到Linux的时候:

DISPLAY=windows-box:0 ddd /path/to/app 

DDD现在应该弹出窗口框。 如果你在那个时候运行应用程序,它也会尝试显示在窗口框中,因为DISPLAY环境变量是被继承的。 您需要重置它:

 (gdb) set env DISPLAY :0 (gdb) run 

在这一点上,应用程序应该显示在Linux的盒子上,根据需要。

许多应用程序接受-display命令行参数。 如果是的话,另一种方法就是这样做:

 (gdb) run -display :0 

而不是重置DISPLAY环境变量。