Прерывание события нажатия кнопки в отладчике Visual Studio - PullRequest
3 голосов
/ 30 июня 2010

Этот вопрос касается отладчика в Visual Studio 2008. Я работаю над приложением C ++ / MFC с огромной кодовой базой (тысячи файлов .cpp). Я ищу способ сказать отладчику: «В следующий раз, когда я нажимаю кнопку в моем приложении, остановимся на функции, вызываемой этой кнопкой». Я пытаюсь избежать просмотра этих тысяч файлов, чтобы найти функцию или ресурс для кнопки. Я подумал, что было бы очень просто отловить событие нажатия кнопки с помощью отладчика ... но я не вижу ничего очевидного.

Спасибо!

Philip

1 Ответ

2 голосов
/ 24 июля 2012

Большинство кнопок MFC запускают сообщение WM_COMMAND.

Если родительское окно кнопки основано на CWnd, и у вас есть исходный код MFC, вы можете открыть cmdtarg.cpp и установить точку останова в _AfxDispatchCmdMsg.Если вы шагнете вперед к переключателю, вы сможете перейти к коду обработчика кнопки.

Поскольку это ловушка для WM_COMMAND, она, скорее всего, поймает не только кнопки, например, меню, поэтомуэто не дурак.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...