【发布时间】:2020-07-30 07:09:23
【问题描述】:
假设我在代码中的以下if 语句上设置断点并在 Python 调试器中启动调试会话(例如pdb):
if <statement> and <...>: <- Current location of debugger in a debugging session
// Do something
我想以交互方式询问调试器(在断点的上下文中)<statement> 将在程序中返回的布尔值,就好像我在继续执行之前从未运行过该语句一样调试会话上下文中的程序。
请注意,<statement> 当然可能会更改 Python 变量(可变值),而且它可能不是是幂等操作。
VSCode 是否支持这种类型的“安全调试”?请注意,这不仅适用于 if 语句,还适用于任何代码。
我假设这些类型的调试检查可能需要“快照”所有流程变量(或可能受statement 影响的变量)以防万一,我不知道这是否是 VSCode 调试器(或一般现代调试器)支持。
【问题讨论】:
-
我不是专家的声音,但使用 Visual Studio Code 集成调试器我从来没有遇到过任何麻烦。
-
您是否知道一种检查活动对象堆栈或查看条件值的方法,例如
if <expr>?我不相信 cpython 使对象堆栈可供调试器检查。
标签: python-3.x debugging visual-studio-code pdb