visual-studio - 在 Visual Studio 中作为原子操作插入条件断点(这样在设置条件之前它不能触发)

标签 visual-studio debugging visual-studio-2013 breakpoints

我有一些正在运行的代码,我想添加一个条件断点,但我只知道如何向现有断点添加条件。例如,如果我将断点添加到我的 C# 代码行中,例如使用 F9 ,然后我可以右键单击左侧装订线中断点的红点,这给了我这个菜单

breakpoint context sensitive menu

我可以从中选择 Condition ...打开条件断点设置

editing a conditional breakpoint

但是,我想在一个经常调用的函数中插入一个条件断点,该函数的条件很少为真,以便我可以找出偶尔会触发错误的原因。我不想停止代码调试,特别是如果它是一个在一段时间后才出现的错误。所以上面的方法是不够的。当我第一次插入断点时,但在我有机会添加它的条件之前,它会触发并且程序将“中断”。

如何将带有关联条件的断点作为单个原子操作添加到在调试器下运行的代码中,即不添加断点,然后向其添加条件,而是一次性添加断点及其条件?

最佳答案

我在工作 OzCode, a commercial extension to Visual Studio有两种方法可以一键添加条件断点 -

  • 作为 QuickAction(类似于 Resharper 中的 Alt+Enter)。这将根据变量的类型(即 > 0 表示数字,== null 表示引用类型等)为您的条件断点建议相关条件。
    Add Conditional BP
  • 如果您已经在断点处并看到导致错误的无效值,并希望在其上添加条件断点以便在更改代码后可以再次返回到同一点,您可以从数据提示中添加一个:

  • BP2

    这将自动在相关值上创建一个条件断点,您可以在按 Enter 键批准之前对其进行编辑:

    BP3

    关于visual-studio - 在 Visual Studio 中作为原子操作插入条件断点(这样在设置条件之前它不能触发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412696/

    相关文章:

    asp.net - 使用 Firefox 时如何在 visual studio 2008 中启用脚本调试

    visual-studio-2013 - 构建期间 mscorlib 版本冲突

    c# - 如何将.exe从C++项目复制到C#项目的输出目录?

    c# - 每当输入文件(或类)时中断

    c# - 在 PCL 中将 String 资源添加到 .resx 会导致编译错误

    debugging - 使用set命令在Unix中禁用详细调试

    msbuild 无法发布的项目

    visual-studio - SSDT 模式比较 - 忽略系统服务代理(VS 2013)

    c++ - 使用 VS Community 2017 打开 vdproj 文件?

    c# - Visual Studio 类中的删除方法出错