Visual Studio Code - 远程调试 Bazel C++ - 无法读取文件“vscode-remote://dev- file”

kgm*_*kgm 5 c++ docker bazel visual-studio-code

我正在尝试在 docker 中对 bazel 项目进行远程调试。本地插件:远程开发 Docker 插件(在 devcontainer.json 中定义):ms-vscode.cpptools

我的启动.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug",
      "type": "cppdbg",
      "MIMode": "gdb",
      "request": "launch",
      "args": [],
      "stopAtEntry": true,
      "cwd": "${workspaceFolder}",
      "program": "/root/.cache/bazel/_bazel_root/e53bbb0b0da4e26d24b415310219b953/execroot/tf_serving/bazel-out/k8-dbg/bin/tensorflow_serving/fplugin/fserve_cc",
      "externalConsole": false,
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是我收到错误:

Unable to open 'fserve.cc': Unable to read file 'vscode-remote://dev-container+2f55736572732f6d67756d6f77736b2f776f726b2f6f766d732d63/proc/self/cwd/tensorflow_serving/fplugin/fserve.cc
Run Code Online (Sandbox Code Playgroud)

在本地开发中,我会添加 sourceFileMap,但它似乎不适用于远程 docker 开发。有任何想法吗?

小智 0

当你尝试用bazel编译时,你会看到4个软链接(bazel-bin, bazel-{source-folder}, bazel-out, bazel-testlog),修改这个属性

"cwd": "${workspaceFolder}/bazel-",