我正在尝试调试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}"
},
]
我也尝试卸载/禁用/启用chrome调试器,并在禁用所有其他插件的情况下运行它。设置断点并重新运行调试器不会生效,也不会停用/重新激活所有断点。
答案 0 :(得分:1)
好的,解决了一段时间之后。这都是由Angular路由机制引起的。如果通过component
浏览了断点已本地化的组件,则断点将立即设置并可以命中。对于通过loadChildren
导航的组件,直到加载实际页面之前,都不会验证断点。然后断点变为“可达”。
为使答案减少特定于角度的答案,最终的根本原因是未验证的断点是在尚未发送到浏览器的JavaScript代码部分上设置的(即未访问子页面,脚本的分区不是)AJAX-请求)