使用带有远程开发功能的Chrome调试器的未经验证的断点

时间:2019-05-06 00:14:33

标签: visual-studio-code vscode-remote

使用新的远程开发功能,我有一个运行vue-cli-service serve的远程系统上的Vue代码。 Vue前端的${workspaceFolder}/web即将用完。

Go后端也是该工作空间的一部分(在另一个子目录中),并且Go端的远程调试工作正常。

给出以下启动配置:

    {
      "type": "chrome",
      "request": "launch",
      "name": "vuejs: chrome",
      "url": "http://192.168.0.7:8081",
      "webRoot": "${workspaceFolder}/web/src",
      "breakOnLoad": true,
      "sourceMapPathOverrides": {
        "webpack:///./src/*": "${webRoot}/*"
      }
    }

Chrome启动并连接到vue-cli-service Web服务器,但断点显示为未经验证。

这是因为Chrome调试器在ui上下文中运行,并且$ {workspaceFolder}引用了远程路径吗?它无法理解吗?我希望即使它们位于远程上下文中也足够聪明,可以转换源路径。

我还应该提到,如果我改为通过CIFS挂载打开此工作空间文件(即不使用远程开发功能),则它按原样工作。因此至少源映射分辨率的相对路径必须有效。

我可以对实现这项工作的路径进行一些调整吗?

编辑:如果我暂停执行(F6),它将正确打开远程文件,并指示该文件已挂在预期的行上,但路径非常奇怪:c:\home\me\src\myproject\web\src\webpack:\node_modules\vuetify\lib\directives\click-outside.js。这个远程工作空间的${workspaceFolder}的节点是/home/me/src/myproject,因此它正在执行一些奇怪的Windowsy翻译,我不知道它从哪里获取c:\。无论如何,很明显,源地图的翻译在那里工作。只是不能使用断点。

编辑2:当webRoot引用远程路径时,我越来越觉得这是一个错误,所以我提出了一个问题:https://github.com/Microsoft/vscode-chrome-debug/issues/832

0 个答案:

没有答案