Visual Studio能够记住以前调试会话中的断点,这非常棒。

但是,当我在调试时,通过单击它来清除其中一个“旧”断点时,它只是被暂时删除了。我的意思是,下次调试时,我以为我删除的断点又回来了。

这非常烦人——有没有设置让它不这样做?


当前回答

问题是断点的子断点会持续存在。在调试会话期间设置断点时会创建子断点(在某些情况下)。

删除断点(及其子)的一种可靠方法是在断点窗口中手动查找断点,并从那里删除它。(选择条目的顶部节点,点击Delete。)

如果你正在运行一个支持VBScript宏的(旧)版本的Visual Studio,你可以运行这里发布的宏(在调试会话之间),以删除子断点。这将使通过单击符号来删除断点在某种程度上更加有效和可预测,但这仍然是有问题的和尴尬的。

其他回答

这里有一些答案,但在我看来,在调试期间使用建议的操作会分散注意力(我不想失去我的注意力)。

我在断点期间使用粘断点的流程如下:

在调试期间,禁用断点,而不是删除它。

禁用断点的可能方法:

鼠标悬停,点击两个循环图标; 或者使用上下文菜单; 或键盘快捷键CTRL+F9(不是Shift+CTRL+F9,因为它清除所有断点)。

稍后,在开发过程中,当我看到一个禁用的断点时,我会删除它。

PS.偶尔删除所有断点也是一个很好的实践。

我认为这是一个设计缺陷,它非常令人沮丧,我们不得不长期忍受。我们经常碰到它,这已经成为常态。到目前为止给出的解决方案都是可行的。

一个更好的解决方案是聚在一起投票改变Visual Studio用户声音。这似乎已经被记录了几次,所以我们应该选择一个投票。

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/31123351-delete-disable-break-point-while-debugging-should

进入调试菜单,然后按Ctrl+Shift+F9删除所有断点

我一直在努力寻找“断点窗口”。这里有一个快速打开它的方法- ctrl+alt+B


或者你可以手动转到“调试->Windows->断点”来打开它。


或者你可以按ctrl+shift+F9一次删除所有断点!

问题是断点的子断点会持续存在。在调试会话期间设置断点时会创建子断点(在某些情况下)。

删除断点(及其子)的一种可靠方法是在断点窗口中手动查找断点,并从那里删除它。(选择条目的顶部节点,点击Delete。)

如果你正在运行一个支持VBScript宏的(旧)版本的Visual Studio,你可以运行这里发布的宏(在调试会话之间),以删除子断点。这将使通过单击符号来删除断点在某种程度上更加有效和可预测,但这仍然是有问题的和尴尬的。