Как поставить точку останова на каждый MessageBox в моем приложении?

Как поставить точку останова на каждый MessageBox в моем приложении?


person Nifle    schedule 28.08.2009    source источник


Ответы (6)


В Visual Studio IDE выберите меню Debug->New breakpoint->Breakpoint at Function...

Заполните функциональное поле текстом "MessageBox".

person Kirill V. Lyadvinsky    schedule 28.08.2009
comment
Необходимо установить язык как Неизвестный, иначе IDE не найдет функцию. - person Nifle; 28.08.2009
comment
Я обновил изображение. Я думаю, что для работы на С# имя функции должно быть полным. - person Kirill V. Lyadvinsky; 28.08.2009

Напишите функцию-оболочку вокруг MessageBox, замените все ваши вызовы MessageBox этой функцией-оболочкой, поставьте точку останова внутри вашей функции-оболочки.

person Adrian Grigore    schedule 28.08.2009

Выберите «Отладка» > «Новая точка останова» > «Перерыв в функции». Это дает вам всплывающее окно. Введите полное имя метода, который вы хотите прервать. Если это метод фреймворка, VS сообщит вам, что имя не может быть проверено, но вы все равно можете его установить. Например. чтобы сломать все System.Console.WriteLine, введите это и примите предупреждение.

Теперь, когда вы запустите приложение, VS остановится в WriteLine, но поскольку у вас, вероятно, нет исходных файлов для этого, VS не перейдет в нужное место. Однако стек вызовов будет верным, и вы сможете вернуться оттуда.

person Brian Rasmussen    schedule 28.08.2009

Это может быть невозможно, но если вы найдете и замените свой вызов MessageBox и добавите вызов (перед вызовом MessageBox) к функции, в которую вставлена ​​точка останова, вы можете перейти оттуда.

person Nicholas Murray    schedule 28.08.2009

Вы можете найти и заменить:

заменять

.ShowDialog();

с

.ShowDialog();
#ifdef dialogDebugging
System.Diagnostics.Debugger.Break();
#endif

Затем определите dialogDebugging в настройках вашего проекта.

person Ian    schedule 28.08.2009

Нажмите ctrl-F, чтобы открыть диалоговое окно поиска. Найдите MessageBox.Show. Щелкните правой кнопкой мыши строку кода и выберите «Точка останова» -> «Вставить точку останова».

person Calanus    schedule 28.08.2009