F5没反应是因为调试会话未处于暂停状态:程序已退出、崩溃、调试器断开,或未成功附着;Node.js端口冲突、Chrome未启用远程调试、断点设在非执行行等均会导致此现象。

按 F5 就能继续运行,但前提是调试器当前处于暂停状态;如果没反应,大概率是没真停住、或调试会话已结束。
为什么按 F5 没反应?
这不是快捷键失效,而是调试上下文断了:
-
F5只在“已暂停”时有效——如果程序已自然退出、崩溃、或调试器意外断开,F5会静默无响应 - 底部状态栏没显示「调试正在运行」字样,说明调试会话根本没附着成功
- Node.js 项目若用
node app.js手动启动过,再按F5会因端口冲突失败,得先杀掉原进程 - Chrome 调试时,如果浏览器没用
--remote-debugging-port=9222启动,VS Code 连不上,F5看似点了,实则没发请求
F5、F10、F11 的实际边界在哪
这三个键不是“行级执行器”,而是基于当前堆栈帧的控制指令:
-
F5:从当前暂停点继续,直到下一个断点、异常、或程序结束 -
F10(Step Over):执行当前行,但不进函数体——await fetch()按它会直接跳到下一行,不会等响应回来 -
F11(Step Into):只对有调试符号的函数生效;require('lodash')或内联的std::vector::push_back()常跳不过去,因为没 source map 或被编译器优化掉了
断点设了却不停,F5 按了也白按
常见假故障,本质是断点没真正绑定:
- 红点是空心圆?90% 是 source map 路径没对上:TypeScript 项目要确认
tsconfig.json里"sourceMap": true,且launch.json中"sourceMaps": true和"outFiles"路径匹配 - 断点打在注释行、空行、或
import语句上——这些不是可执行语句,VS Code 不会中断 - Python 项目默认
"justMyCode": true,第三方库里的代码进不去;想调试requests.get()内部,得显式关掉这个开关
最常被忽略的一点:调试控制台(Ctrl+Shift+Y)里输 process.env 或 localStorage 能立刻看到当前上下文的完整状态,比反复按 F5 更快定位“为什么没走到那”。


















