2009-06-02 36 views
1

在一臺名爲ksirtet(俄羅斯方塊克隆)的kde3遊戲中,當與電腦對戰時,玩家不能左右移動俄羅斯方塊。我試圖修復它,但無法在gdb中進行調試。在「kapp-> exec()」gdb停止響應之後,遊戲運行並且我無法輸入任何命令do gdb來查看發生了什麼。所以問題是關於調試kde事件循環和任何幫助將不勝感激。KDE開發調試

回答

1

一般而言,除非必要,否則您不想調試到事件循環。也就是說,你可能想要在感興趣的地方分散一些斷點,特別是在按鍵之後你認爲代碼應該運行的地方。如果您嘗試從頭開始逐步完成事件循環代碼,則會遇到問題,試圖與要調試的程序進行交互。

此外,如果我記得正確,可以在gdb中控制-c,它會在當前執行點中斷程序,並將控制權還原到您。如果你真的想看看發生了什麼,可以嘗試在遊戲中排隊一些事件(快速地混合一堆鍵),然後中斷gdb並逐步完成程序爲響應這些事件而做的事情。但是,你必須非常快速,因爲現代計算機上的事件循環處理速度非常快。

+0

謝謝你的迴應。我正在對抗gdb和這個ctrl-c技巧,但目前還沒有運氣。 – 2009-06-04 17:30:32