我有一个现有的代码库,使用makefile构建,我想使用Visual Studio Code运行它。
我首先用Visual Studio Code打开了我的项目目录。 然后,按照http://code.visualstudio.com/docs/languages/cpp上的说明创建了一个构建任务:
{
"version": "0.1.0",
"command": "bash",
"isShellCommand": true,
"args":["-c", "cd build && make"]
}
这很好用。然后我下载了C++扩展并创建了一个launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x64",
"program": "${workspaceRoot}/build/myProgram",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"linux": {
"MIMode": "gdb"
},
"osx": {
"MIMode": "lldb"
},
"windows": {
"MIMode": "gdb"
}
},
// attach here, which I don't care about
]
}
这个启动文件可以让我使用内置调试器启动程序。由于我看到所有符号文件都被加载了,我知道它是有效的,并且我可以暂停程序。
然而,VS Code无法“看到”我的源文件;当我暂停时,它会显示:
Source /Unknown Source is not available.
我也无法在源代码中设置断点。我发现一些符号得到了加载,因为当我暂停执行时,我可以在调用堆栈上看到我的函数名称。
那我错过了什么?我是否绝对必须像这里所说的那样(http://code.visualstudio.com/docs/languages/cpp)创建一个g ++任务,在其中手动输入所有包含路径和链接器输入?使用makefile的初衷是为了不必进行这些繁琐的操作...
非常感谢任何知道如何处理VS代码的人。