2010-06-30 83 views
2

此問題涉及Visual Studio 2008中的調試器。我正在研究具有巨大代碼庫(數千個.cpp文件)的C++/MFC應用程序。我正在尋找一種方法來告訴調試器,「下次我點擊我應用程序中的一個按鈕,停在該按鈕所調用的函數處」。我試圖避免通過成千上萬的文件來查找函數或按鈕的資源。我認爲用調試器捕獲按鈕單擊事件會很簡單,但我沒有看到任何明顯的事情。打破Visual Studio調試器中的按鈕單擊事件

謝謝!

菲利普

+0

你試過類似我在這裏問過的東西嗎? https://stackoverflow.com/questions/47912623/getting-debugger-to-break-on-next-event/47912818#47912818 – Jazimov 2017-12-20 20:36:15

回答

1

大多數MFC按鈕將觸發WM_COMMAND消息。

如果該按鈕的父窗口是基於CWnd的,並且您有MFC源代碼,則可以打開cmdtarg.cpp並在_AfxDispatchCmdMsg中設置斷點。如果你向前邁進開關盒,你應該可以進入按鈕的處理器代碼。

因爲這是一個WM_COMMAND的陷阱,這可能不僅僅是按鈕,例如菜單,所以它不是傻瓜證明。