我经常遇到我想在调试时禁用某些代码而不实际更改代码的情况.
我最终做的是有一个断点(通常是有条件的)然后当断点触发时我执行一个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
---------------------------
有谁知道怎么解决这个问题?
DTE.ExecuteCommand( "Debug.SetNextStatement")