Я часто сталкиваюсь с ситуацией, когда я хочу отключить некоторый код во время отладки без фактического изменения кода.
В результате я получаю точку останова (обычно условную), а затем, когда срабатывает точка останова, я выполняю Set Next Statement Это может быть очень трудоемким, когда код достигается много раз, поэтому я создал макрос:
Sub Skip3Lines()
DTE.ActiveDocument.Selection.LineDown(False, 3)
DTE.Debugger.SetNextStatement()
End Sub
Затем я изменил точку останова на точку попадания (right-click -> When Hit...
) и велел ей выполнить этот макрос.
Visual studio была очень рада выпустить следующее диалоговое окно:
---------------------------
Error
---------------------------
A macro called a debugger action which is not allowed while responding to an event or while being run because a breakpoint was hit.
---------------------------
OK
---------------------------
Кто-нибудь знает, как это обойти?