【问题标题】:VSCode -- how to set working directory for debug C++VSCode -- 如何设置调试 C++ 的工作目录
【发布时间】:2021-11-12 16:28:00
【问题描述】:

我使用带有 C++ 扩展的 VS Code 开始了一个简单的 C++ 项目。我的代码需要读入“MY_WORKSPACE/../h0”的文件并进行一些计算。我创建了一个“task.json”,设置 "options": { "cwd": "${workspaceFolder}" ,运行构建任务,程序运行。 然后我创建了“launch.json”,设置"cwd": "${workspaceFolder}",按F5,然后“找不到输入文件”。

我在调试控制台中尝试过:-exec shell pwd,它显示“MY_WORKSPACE/build”所以“launch.json”中的“cwd”选项似乎不起作用?

我会很感激任何将我的 cwd 设置为 ${workspaceFolder} 的工作方式...

版本:

  • 我的 macOS 11.5.2
  • VS 代码 1.60.1
  • lldb-1200.0.44.2
  • Apple Swift 版本 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
  • Apple clang 版本 12.0.0 (clang-1200.0.32.29) 目标:x86_64-apple-darwin20.6.0 线程模型:posix

以下是我原来的“task.json”:

{
"version": "2.0.0",
"tasks": [
    {
        "type": "shell",
        "label": "clang++ build src files for DEBUG",
        "command": "/usr/bin/clang++",
        "args": [
            "-std=c++17",
            "-stdlib=libc++",
            "-g",
            "src/*.cpp",
            "-o",
            "build/analyzer.out"
        ],
        "options": {
            "cwd": "${workspaceFolder}"
        },
        "problemMatcher": [
            "$gcc"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        },
        "detail": "compiler: /usr/bin/clang++"
    }
]

}

“launch.json”:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "clang++ - Build and debug src file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/analyzer.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",   /*BUG?: not working */         
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "clang++ build src files for DEBUG"
        }
    ]
}

【问题讨论】:

    标签: c++ debugging visual-studio-code lldb


    【解决方案1】:

    您是否使用侧栏上的“运行和调试”小部件运行程序?我认为你的 task.json 和 launch.json 只会在那里使用。扩展和“运行和调试”(来自 vs 代码)是两个不同的系统。尝试使用侧边栏上的“运行和调试”,然后在顶部选择您的设置文件并点击运行按钮。

    我只尝试过一次使用vscode调试c++,设置时间不值得。您可以尝试在 vscode 中使用 cmake 来设置您的 c++ 调试环境。

    【讨论】:

    • 谢谢!我尝试从侧边栏启动,选择我的具体配置,但仍然是同样的问题。我认为正在使用“launch.json”,正如我从调试控制台中看到的那样,我的 args 已正确传递
    • 现在 cwd 在更新 vscode 后可以工作了……但是每当我进入时 lldb 都没有响应……是的,我应该放弃 VScode 进行 cpp 调试……
    猜你喜欢
    • 2016-12-02
    • 2017-10-03
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2011-01-23
    • 2012-05-04
    • 2012-01-14
    相关资源
    最近更新 更多