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、切换后,所有后续输入的表达式均在所选会话的当前暂停帧中求值,变量作用域与堆栈信息同步更新。










