使用gdb调试使用startx启动的应用程序

时间:2017-04-25 04:47:55

标签: linux gdb xserver

我有一个带有GUI的应用程序,我在命令行上直接在X服务器上运行,而不使用Windows管理器:

sudo startx app args 

我试图调试应用程序并想使用gdb。如何在gdb中启动应用程序?我试过这个但是它没有用:

sudo gdb --args startx app args 

1 个答案:

答案 0 :(得分:1)

  

我试过这个,但它不起作用

它不起作用,因为startx是一个shell脚本:

$ file /usr/bin/startx
/usr/bin/startx: POSIX shell script, ASCII text executable

您几乎肯定不想使用GDB调试shell脚本。

你可能想要的是正常启动应用程序,然后 GDB附加到它:

sudo startx app args
sudo gdb -p $(pgrep app)

另请注意,从运行应用程序的同一显示器调试应用程序是不明智的:如果在应用程序抓取 X服务器的上下文中设置断点,那么所有按键操作将转到该应用程序,并且无法继续该应用程序。