2016-02-23 149 views
0

我知道如何調試控制檯程序,但如果程序有GUI? 例如,有一個Calc圖標,當我按下它時,它會調用一些方法。 我想知道它會調用什麼方法。我有源代碼,但不知道哪個文件對應於哪個文件,並且想要回溯它將執行的代碼,如果我點擊該圖標。如何使用gdb調試GUI程序

+1

如果您沒有源代碼級別的調試,典型的GUI框架將是一場噩夢。獲取源代碼(理想情況下,是一個'真正的'IDE調試器:)。 –

回答

2

從概念上講,調試GUI應用程序和控制檯應用程序沒有任何區別 - 它們都是程序性編程 - 某些操作調用特定的函數。操作的觸發器是按下GUI上的按鈕還是在控制檯中鍵入命令沒有區別。你可以爲它們使用調試器(可視或命令行)。

如果你有源代碼,並且知道觸發機制是什麼,應該很容易在源代碼中查看哪些函數被觸發器調用(例如,不在運行時)。您的問題標記爲Qt,它使用connect函數將'信號'(事件)連接到其他信號或'插槽'。這實質上是將一個回調函數與一個特定的事件關聯起來,因此,搜索源代碼將是一個很好的起點。