Visual Studio 中方形/菱形断点的含义是啥?

Posted

技术标签:

【中文标题】Visual Studio 中方形/菱形断点的含义是啥?【英文标题】:What is the meaning of the square/diamond breakpoint in Visual Studio?Visual Studio 中方形/菱形断点的含义是什么? 【发布时间】:2019-08-19 00:02:26 【问题描述】:

我放置了 2 个断点,其中一个变成了正方形。这是什么意思?如果有帮助,我正在远程调试一些代码。

【问题讨论】:

是条件断点。您可以指定一些条件,例如 someValue == true 然后才会触发。 @fhnaseer 不,这表明断点符号中有一个加号。 "◇" 是菱形(或者不太常见的菱形),"□" 是正方形。虽然我很少发布这种性质的 cmets,但我认为重要的是要注意,因为人们在遇到这种情况时更有可能为符号搜索正确的术语。 它在文档中确实被称为钻石,这实际上是我在调试部分的搜索中没有发现它的原因。看起来它有 4 个直角,无论旋转如何,它仍然是一个正方形。 【参考方案1】:

这意味着执行不会在该断点处中断,但调试日志中只会输出一条消息。

要更改此设置,请右键单击断点并选择“设置”(在较旧的 VS 版本中)或“操作”(从 VS 2017 开始)。

看看这个问题为什么有用:

What are tracepoints used for?

【讨论】:

【参考方案2】:

你提到的方形断点是断点动作和跟踪点

根据docs.microsoft.com debugger using breakpoint

跟踪点是将消息打印到输出窗口的断点。跟踪点可以充当编程语言中的临时跟踪语句。

您可以通过单击断点附近的设置按钮将光标移动到断点来更改断点设置。

【讨论】:

以上是关于Visual Studio 中方形/菱形断点的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

掌握Visual Studio断点

Visual Studio 拒绝忘记断点?

Visual Studio:断点排除来自特定函数的调用

如何在 Visual Studio 2017 中修复断点表达式

断点设置但尚未绑定在Visual Studio中

Visual Studio调试之断点进阶篇