VSCode调试器条件断点

Pre*_*onM 7 visual-studio-code

我目前正在调试一个python项目,我想在Visual Studio中添加类似于条件断点条件断点.是否支持此功能,如果支持,如何创建一个?

Von*_*onC 13

使用 VSCode 1.52(2020 年 11 月),您还可以:

断点视图:异常断点的条件

我们现在支持使用“BREAKPOINTS Edit Condition”上下文菜单操作来编辑异常断点的条件。

目前,只有模拟调试扩展具有(假)异常断点条件支持,但很快其他调试扩展将跟进 - 例如 Javascript 调试器。

编辑条件 - https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_52/edit-condition.png

异常条件 - https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_52/exception-condition.png


这适用于VSCode 1.53(2021 年 1 月)中的 Node 调试器:请参阅问题 104453

条件断点

现在可以使用内联编辑条件操作或新的上下文菜单操作来编辑异常断点和函数断点的条件。

使用条件,用户可以指定程序仅在满足特定条件时才应在异常时中断。

目前,Javascript 调试扩展支持异常或函数断点的条件,很快其他调试扩展也将支持它。

断点区域小部件彩色 - https://media.githubusercontent.com/media/microsoft/vscode-docs/56b62268c9df79ae72305b364eb18f4f4b4cc9bb/release-notes/images/1_53/breakpoints.gif


VSCode 1.55(2021 年 3 月)将添加:

用于编辑条件和点击计数的内联菜单

我们现在显示一个内联菜单,用于编辑条件和函数断点的命中计数。
以前,内联编辑按钮会自动选择要编辑的条件,现在菜单应该使流程更容易,并为用户提供更多控制。

断点条件菜单

数据断点的访问类型

数据断点现在支持更多访问类型来中断:

  • Break on Read:每次读取变量时都会命中断点。
  • Break on Access:每次访问变量时都会命中断点。

提醒一下,可以从“变量”视图的上下文菜单中添加数据断点,并且我们已经支持“值更改时中断”。

目前,只有模拟调试扩展对所有三种访问类型提供(假)数据断点支持,但很快其他调试扩展将跟进 - 例如 Java 扩展。

访问类型中断


Rob*_*ens 9

是的,这在VS Code Debugging文档中有详细描述

简而言之,右键单击现有断点并选择"编辑断点",或右键单击断点边距并选择"添加条件断点".

  • 如果我们在 python 中编写表达式,我的 vs 代码不会在“条件断点”中检测到 python (5认同)
  • 文档页面上给出的示例是针对点击计数的。你能举一个条件断点表达式的例子吗?当我添加断点时,即使我输入“0”(应始终评估为 false)作为表达式,它们也总是会被命中。 (2认同)
  • 您必须按“输入”来确认您的表达。 (2认同)

Tok*_*kci 5

如果由于某种原因您无法设置条件断点来工作,请遵循以下方法。在代码中编写 if 语句并在其中放置断点。

if(condition): # condition when you want to program to stop
   print("pause execution here")  # put a breakpoint on this line.
Run Code Online (Sandbox Code Playgroud)