Visual Studio会记住以前调试会话中的断点,这非常好。
但是,当我在调试时通过单击清除其中一个“旧”断点时,它只是被暂时删除了。我的意思是下一次我调试时,我认为我已经删除的断点又回来了。
这真的很烦人 - 有没有设置可以让它不这样做?
Visual Studio会记住以前调试会话中的断点,这非常好。
但是,当我在调试时通过单击清除其中一个“旧”断点时,它只是被暂时删除了。我的意思是下一次我调试时,我认为我已经删除的断点又回来了。
这真的很烦人 - 有没有设置可以让它不这样做?
进入 Debug
菜单,然后选择 Delete All Breakpoints
,快捷键为 Ctrl+Shift+F9
。
问题在于您的断点的子断点仍然存在。在调试会话期间设置断点时,某些情况下会创建子断点。
删除断点(包括子节点)的可靠方法是手动在断点窗口中查找它,并从那里删除它。(选择条目的顶部节点,按Delete键。)
如果您正在运行支持VBScript宏的(旧版本)Visual Studio,则可以在调试会话之间运行此处发布的宏,以删除子断点。这将使通过单击标志来删除断点更加有效和可预测,但它仍然存在问题和笨拙。
这里有一些答案,但我认为所提出的操作在调试时会分散注意力(我不想失去专注力)。
我在断点处使用粘性断点的流程如下:
在调试过程中,禁用断点而不是删除它。
禁用断点的可能方式:
以后,在开发过程中,我会在看到禁用的断点时将其删除。
PS。定期删除所有断点也是一个好的做法。
大多数断点都可以在调试会话期间删除,但有些却被卡住了(可能是Visual Studio中的一个错误)。
如果您只想删除卡住的断点,请使用“断点”窗口,该窗口位于调试菜单中。您可能会发现同一行存在多个断点。只需右键单击并删除即可。
对于这个老问题,我突然想到了一个快速的替代答案,适用于Visual Studio 2017。
如果可能的话,只需将带有断点的代码剪切并粘贴即可。剪切后断点会消失。
我认为这是一种设计缺陷,这非常令人沮丧,而且我们已经忍受了很长时间。我们经常遇到它,以至于它变成了常态。迄今为止给出的解决方案确实只是权宜之计。
更好的解决方案是聚集起来,在Visual Studio用户反馈中投票进行改变。似乎已经有几次记录,所以我们应该选择一项进行投票支持。
如果您正在调试 Web 应用程序并在 Chrome 中设置断点,则 VS Code 将遵守该断点并不允许您将其删除。换句话说,有效的断点是在 VS Code 和 Chrome 中设置的断点之和。是的,有时很容易忘记在 Chrome 中设置了断点,并且迷失在尝试从 VS Code 中删除它的过程中。