有时候,在我观察程序运行时,我想要设置一个带条件的断点。目前,我的做法是先点击创建一个无条件断点,然后右键更改条件。这种方法的缺点是可能会在不想要的迭代中停止程序。有没有一种可以立即设置条件的方法呢?
我也建议采用宏的方式。我有些无聊,就试着写了一个宏。如果这个宏运行,它会弹出一个对话框并要求输入条件。如果你想要更多的功能,可能需要让它更加复杂一些。
Sub addBreakpointWithCondition()
Dim cond As String = InputBox("Enter the condition")
DTE.Debugger.Breakpoints.Add(File:=DTE.ActiveDocument.FullName,
Line:=DTE.ActiveDocument.Selection.CurrentLine, Condition:=cond)
End Sub
不需要通过IDE实现。你可以编写一个宏来实现,使用EnvDTE.Debugger.Breakpoints.Add()方法,它允许你直接指定条件属性。不确定你在这上面花费的时间是否相当于反复按F5。