Python 使用VSCode调试器监视循环中的变量

Python 使用VSCode调试器监视循环中的变量,python,loops,if-statement,variables,visual-studio-code,Python,Loops,If Statement,Variables,Visual Studio Code,我想在执行这段小代码时监视num和ctrl的值,但我讨厌用print语句来破坏它。 我曾尝试在循环开始处放置断点,在手表上放置num,然后继续调试过程,但它显示num:*不可用*。在末端放置断点或根本不放置断点都会导致类似的结果 在if语句中放置断点导致每次循环到达该语句时我都必须按下continue按钮,我认为这是不可信的 欢迎提出任何建议 num = 0 while True: num += 1 ctrl = 0 for i in range(1, num + 1):

我想在执行这段小代码时监视
num
ctrl
的值,但我讨厌用
print
语句来破坏它。 我曾尝试在循环开始处放置断点,在手表上放置
num
,然后继续调试过程,但它显示
num:*不可用*
。在末端放置断点或根本不放置断点都会导致类似的结果

在if语句中放置断点导致每次循环到达该语句时我都必须按下continue按钮,我认为这是不可信的

欢迎提出任何建议

num = 0
while True:
    num += 1
    ctrl = 0
    for i in range(1, num + 1):
        if num % i == 0:
            ctrl += 1
    if ctrl == 500:
        print(num)
        break

添加日志/跟踪断点

  • 设置一个正常断点
  • 右键单击红点并选择编辑断点…
  • 在组合框中选择
    Log Message
  • 在消息文本中使用
    {num}
    {ctrl}

  • 将光标放在您想要的
    日志消息的行上
  • 使用菜单项运行新断点
  • 在消息文本中使用
    {num}
    {ctrl}

非常感谢!尽管我发现打印变量的速度比调试器日志消息快得多。知道为什么吗?@beardeadjuff谁在乎,现在你不必花时间删除这些调试内容,只需
删除所有断点
。调试器中的所有东西都运行得较慢,因为当您使用调试器时,Python所做的每件事都需要询问调试器,“您希望我做什么?”不断询问会使事情变慢。