Visual Studio Code中未经验证的断点

Tom*_*mas 6 breakpoints visual-studio-code

我试图在突然间调试VS Code项目(因为它在一天前工作得很好),我的某些断点变得无法访问:

在此处输入图片说明

断点列表全部灰显,并带有信息Breakpoint set but not yet bound

package.json.vscode/launch.json处于同一级别,我的VS Code版本信息:

在此处输入图片说明

但是,此问题还有一些其他琐事:在某些文件上设置断点实际上是可行的。他们被正确击中。因此对我来说,文件的类型,位置,功能或加载时间之间没有关联,Chrome调试器无法处理某些文件...

我的VS Code运行配置如下:

  "configurations": [

    {
      "name": "Launch Chrome against localhost",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:4210",
      "webRoot": "${workspaceFolder}",
      "sourceMaps": true
    },
    {
      "name": "ng serve",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:4210/#",
      "webRoot": "${workspaceRoot}"
    },
  ]
Run Code Online (Sandbox Code Playgroud)

我也尝试卸载/禁用/启用chrome调试器,并在禁用所有其他插件的情况下运行它。设置断点并重新运行调试器不会生效,也不会停用/重新激活所有断点。

Tom*_*mas 4

好吧,过了一段时间,决议就出来了。这都是 Angular 的路由机制造成的。如果通过 导航已定位断点的组件component,则会立即设置断点并且可以命中断点。对于通过 导航的组件loadChildren,在加载实际页面之前断点不会被验证。然后断点变得“可达”。

编辑

为了使答案不那么特定于角度,最终的根本原因是在尚未发送到浏览器的 JavaScript 代码部分设置了未经验证的断点(即未访问子页面,脚本分区不是 AJAX 请求的)