VSCode 调试时需启用 Debugging Console 实现交互式调试:启动调试并暂停后,通过 View→Debug Console 或⇧⌘Y 打开;可在当前作用域执行表达式、修改变量、调用函数,并支持多会话上下文切换。

如果您在 VSCode 中启动调试会话后,发现无法与运行中的程序进行实时交互、查看变量值或执行表达式,则很可能是未正确使用“Debugging Console”功能。以下是针对该工具的详细操作说明:
本文运行环境:MacBook Air,macOS Sequoia。
一、启用并打开 Debugging Console
Debugging Console 是 VSCode 调试器内置的交互式终端,仅在调试会话启动后激活,用于直接输入 JavaScript/Python 等支持语言的表达式并即时获取结果。它不同于 Integrated Terminal 或 Debug Console 面板未显示时的静默状态,需主动触发显示。
1、确保已配置有效的 launch.json 调试配置并设置至少一个断点。
2、按 F5 启动调试会话。
3、当程序暂停在断点处时,点击菜单栏View → Debug Console,或使用快捷键⇧⌘Y(macOS)打开面板。
二、在 Debugging Console 中执行表达式
该控制台允许在当前暂停堆栈帧的作用域内求值任意合法表达式,结果立即返回,且支持自动补全与语法高亮,是验证逻辑和探查状态的核心方式。
1、在 Debugging Console 输入框中键入 typeof document( 前端 调试场景)或len(my_list)(Python 调试场景)。
2、按下 Enter 执行,结果将显示在下方,包括原始值、类型提示及对象结构展开标记。
3、若表达式引用了局部变量,如user.name,控制台将基于当前作用域解析并返回对应值。
三、修改变量值以测试不同分支路径
Debugging Console 支持赋值语句,可临时更改运行时变量,从而跳过条件判断、模拟异常输入或绕过耗时操作,加速问题定位。
1、在暂停状态下,输入 count = 999 并回车,此时后续代码中对 count 的读取将获得新值。
2、对于对象属性,可执行 config.enabled = false 来禁用某项功能验证其影响。
3、注意:该修改仅存在于当前调试会话内存中,不会写入源文件或持久化到程序外部状态。
四、调用函数并观察副作用
可在控制台中直接调用当前作用域可见的函数,包括自定义函数、模块导出方法及调试器注入的辅助函数(如 console.log),适用于快速验证函数行为或触发特定流程。
1、输入 fetchUserData() 并执行,观察控制台输出及网络面板是否发出请求。
2、若函数有返回值,结果将被打印;若抛出异常,错误堆栈将完整显示在 Debugging Console 中。
3、对异步函数,如await loadData(),需确保调试器支持 Await Expression(Node.js 14+ 或现代 Chrome 调试协议)。
五、切换调试会话上下文
当同时运行多个调试会话(如前端 + 后端)时,Debugging Console 默认绑定至最近激活的会话。可通过会话选择器快速切换上下文,确保表达式在目标进程中执行。
1、在 Debugging Console 顶部右侧,点击下拉箭头图标▼。
2、从列表中选择目标会话名称,例如 “Launch Chrome against localhost” 或“Python: Flask”。
3、切换后,所有后续输入的表达式均在所选会话的当前暂停帧中求值,变量作用域与堆栈信息同步更新。