Visual Studio 拒绝忘记断点?

Posted

技术标签:

【中文标题】Visual Studio 拒绝忘记断点?【英文标题】:Visual Studio refuses to forget breakpoints? 【发布时间】:2011-05-12 20:14:37 【问题描述】:

Visual Studio 可以记住以前调试会话中的断点,这太棒了。

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

这太烦人了——有没有设置让它不这样做?

【问题讨论】:

如果在调试器停止后删除它们,它们将永远消失。 错误报告于 2009 年“按设计”关闭;来自 MS 的解释 - connect.microsoft.com/VisualStudio/feedback/details/476744/… 如果你有 VS 2015 的新测试版,你可以发送一个皱眉。如果我们都这样做,也许他们会听。 连接 URL 不再有效 - 但我记得它与线程有关 - 但无论原因是什么,添加“永久删除断点”右键单击选项有多难??? 为什么他们不在断点上下文菜单中提供“删除挂起断点”选项?这不是火箭科学。 【参考方案1】:

转到Debug菜单然后Delete All BreakpointsCtrl+Shift+F9

【讨论】:

试试这个从调试工具栏中选择断点工具栏项目。这将打开断点窗口。在此窗口中,您可以查看应用程序中的所有断点。在这里,您可以通过单击“断点”窗格上工具栏中的“删除”按钮来选择并清除断点。 精彩 - 快捷版中的热键有效(菜单中没有项目)。 当我只想删除一个断点而不是所有断点时不好 这并不能一直解决问题。我已经用过了,断点还是回来了。它在一个烦人的地方,直到我按了 50 次以上的 continue 之后我才能越过它。 @Dinerdo 不要删除它,您可以尝试禁用它或添加一个永远不正确的条件。【参考方案2】:

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

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

如果您正在运行支持 VBScript 宏的(旧)版本的 Visual Studio,则可以运行发布在 here 的宏(在调试会话之间),以删除子断点。这将使通过单击字形删除断点更加有效和可预测,但它仍然存在问题和尴尬。

【讨论】:

【参考方案3】:

我很难找到“断点窗口”。所以这是打开它的快速方法-ctrl+alt+B


或者你可以手动去'Debug->Windows->Breakpoints'打开它。


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

【讨论】:

禁用它们对我不起作用,我必须右键单击并完全删除它们。【参考方案4】:

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

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

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

禁用断点的可能方法:

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

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

附言。偶尔删除所有断点也是一个好习惯。

【讨论】:

如果禁用有效,我不明白为什么上面文章中描述的“绑定断点”与“待处理断点”(re:按设计关闭)是一个无法克服的问题。【参考方案5】: 开始调试会话时打开的文件数量最少,因为您调试不需要的断点会显示并且包含的​​文件将在新选项卡中打开。 终止调试会话并打开断点窗口(从调试工具栏中,由于某种原因它不在视图菜单中)。 对于每个文件,在断点窗口的搜索区域中输入文件的名称,然后按 Enter 以按文件过滤掉断点。 然后您可以单击窗口中的每个断点以查看它们在代码中的位置,并根据需要将其删除。 有点乏味,但这是我发现摆脱那些不需要的幽灵断点的最佳方法...... 书签和断点管理..这些功能可能最后一次增强是在上个世纪的某个时候......

【讨论】:

【参考方案6】:

大多数断点可以在调试会话期间删除,但有些会卡住(可能是 Visual Studio 中的一个错误)。

如果您只想删除卡住的断点,则使用调试菜单上的“断点”窗口。在那里,您可能会看到同一行的断点存在多次。只需右键单击并删除它。

【讨论】:

【参考方案7】:

Visual Studio 2017 对这个老问题的快速替代答案。

如果可能,只需剪切并粘贴带有断点的代码即可。断点随着剪切而消失。

【讨论】:

【参考方案8】:

转到调试>窗口>断点并找到断点并将其从窗格中删除。

如已回答here

【讨论】:

【参考方案9】:

我认为这是一个设计缺陷,非常令人沮丧,而且我们不得不忍受很长时间。我们经常打它,它只是成为常态。到目前为止给出的解决方案确实可以解决。

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

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

【讨论】:

【参考方案10】:

如果您正在调试 Web 应用程序并在 chrome 中设置断点,VS 代码将遵循该断点并且不会让您将其删除。换句话说,有效断点是 VS Code 和 chrome 中设置的断点的总和。是的,有时很容易忘记您在 chrome 中设置了一个断点,并在试图弄清楚如何从 VS Code 中删除它时迷失了方向。

【讨论】:

【参考方案11】:

在较新版本的 Vscode 中,它被称为:Remove all Breakpoints

Vscode 版本:

Version: 1.57.1
Commit: 507ce72a4466fbb27b715c3722558bb15afa9f48
Date: 2021-06-17T13:28:32.912Z (1 wk ago)

【讨论】:

以上是关于Visual Studio 拒绝忘记断点?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点

Visual Studio调试之断点技巧篇

Visual Studio 2013 中如何设置断点

Visual Studio 2015 无法命中断点

掌握Visual Studio断点

Visual Studio 2013 Express 网页版断点窗口