Visual Studio:在不设置无条件断点的情况下设置条件断点

4
有时候,在我观察程序运行时,我想要设置一个带条件的断点。目前,我的做法是先点击创建一个无条件断点,然后右键更改条件。这种方法的缺点是可能会在不想要的迭代中停止程序。有没有一种可以立即设置条件的方法呢?
2个回答

3

我也建议采用宏的方式。我有些无聊,就试着写了一个宏。如果这个宏运行,它会弹出一个对话框并要求输入条件。如果你想要更多的功能,可能需要让它更加复杂一些。

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

你提到的DTE是什么?它会在不同的解决方案中持久存在吗? - Carlos
你可以在这里找到更多信息 http://msdn.microsoft.com/en-us/library/envdte.macros.dte.aspx。它是所有自动化变量的根(因此在这种情况下,它被用于查找当前选定的文件并获取光标所在行以提供给调试器接口)。所以,是的,这是完全独立于解决方案的。 - Roger Perkins

1

不需要通过IDE实现。你可以编写一个宏来实现,使用EnvDTE.Debugger.Breakpoints.Add()方法,它允许你直接指定条件属性。不确定你在这上面花费的时间是否相当于反复按F5。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接