Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在名为 ksirtet(俄罗斯方块克隆)的 kde3 游戏中,与计算机对战时,人类玩家无法左右移动俄罗斯方块。我正在尝试修复它,但无法在 gdb 中调试。在“kapp->exec()”行 gdb 停止响应后,游戏运行,我无法输入任何命令 do gdb 以查看发生了什么。所以问题是关于调试 kde 事件循环,任何帮助将不胜感激。
一般来说,除非必要,否则您不希望调试到事件循环中。也就是说,您可能希望在感兴趣的地方分散一些断点,尤其是在您认为代码应该在按键后运行的地方。如果您尝试从头开始逐步执行事件循环代码,您将在尝试与要调试的程序交互时遇到问题。
另外,如果我没记错的话,您可以在 gdb 中使用 control-c,它会在当前执行点中断程序,并恢复对您的控制。如果您真的想看看发生了什么,请尝试在游戏中排队一些事件(快速混合一堆键),然后中断 gdb 并逐步执行程序响应这些事件的操作。但是,您必须非常快,因为现代计算机上的事件循环处理非常快。