Linux gtk下拉菜单激活时无法调试

Linux gtk下拉菜单激活时无法调试,linux,debugging,gdb,gtk,Linux,Debugging,Gdb,Gtk,我有一个窗口,有几个Gtk-2.0小部件。其中一个是GTK数据库,连接了相应的GTK Completion 我需要调试在GtkCompletion显示的下拉列表中进行选择(“匹配”事件)时调用的代码。所以我设置了一个断点,激活了选择,整个桌面都挂起了。我找到的唯一可以退出的表单是Ctl Alt Backspace,并删除gdb实例 发生这种情况时,整个windows管理器将保持该下拉列表处于活动状态—仅响应Ctl Alt函数,如Ctl-Alt-F2 我尝试了--sync命令行选项,但没有任何区别

我有一个窗口,有几个Gtk-2.0小部件。其中一个是GTK数据库,连接了相应的GTK Completion

我需要调试在GtkCompletion显示的下拉列表中进行选择(“匹配”事件)时调用的代码。所以我设置了一个断点,激活了选择,整个桌面都挂起了。我找到的唯一可以退出的表单是Ctl Alt Backspace,并删除gdb实例

发生这种情况时,整个windows管理器将保持该下拉列表处于活动状态—仅响应Ctl Alt函数,如Ctl-Alt-F2

我尝试了--sync命令行选项,但没有任何区别。虽然似乎有一些(相当复杂的)解决方案,比如运行嵌套窗口服务器或远程调试,但我无法想象没有比这更优雅的解决方案了


有什么建议吗?

我一直都这么做

您需要抓取另一台笔记本电脑或另一台服务器上的控制台,并将ssh连接到主桌面/笔记本电脑。在主台式机/笔记本电脑上启动GTK应用程序,然后从其他笔记本电脑/计算机连接gdb

然后,您将在主屏幕上运行gtk应用程序,并从单独的连接进行调试,而不会干扰主显示


编辑:我知道您已经考虑过远程调试,但根据我的经验,这并没有那么难。我桌上的另一台笔记本电脑就在我旁边,用来调试我的X应用程序。

谢谢Sam。在我发布问题之前和之后,我浏览了几十个网站,但都找不到确切的指示。但也许我对下拉列表问题看得太具体了,应该用更笼统的术语看一下。尽管如此,我认为这个问题会很普遍,有一个更优雅的解决方案。我不是一个有经验的程序员。。。谢谢回复!