wis*_*cky 5 python visual-studio-code vscode-debugger
当我逐行执行代码时,我在 VS Code 调试器中遇到了这种奇怪的行为。
之前print(var1),当我del var1在调试控制台中执行时,它将删除var1,并且下一行print(var1)将按预期失败。
但是,在 中main(),当我del var2在调试控制台中执行时,它没有执行任何操作。下一行print(var2)执行成功。var2 = 'new'将更改调试控制台中的值,但del var2不会删除变量。
这种不一致的行为有什么原因吗?VS Code Debug Consol 似乎不会删除函数内的变量。当我使用 进行相同的调试时pdb,它按预期工作(var2被删除)。
var1 = 'value1'
# del var1 (in vscode Debug Console)
print(var1)
def main():
var2 = 'value2'
# del var2 (in vscode Debug Console)
print(var2)
main()
Run Code Online (Sandbox Code Playgroud)
VS Code v1.61.1(2021 年 9 月)
Python v3.9.5