1.报错信息
Unable to start debugging,如下截图所示
网上找了很多资料,发现大部分解释都说是,库的问题,拷贝libstdc++ -6.dll文件后,还是有同样的报错。
2.对比其他,发现用的是cygwin64工具,而不是mingw64
重新安装编译器MinGW-W64 GCC
网址https://sourceforge.net/projects/mingw-w64/files/
详细步骤参考
VS Code C语言开发环境配置附图版保姆教程_incredibleimpact的博客-CSDN博客_vs配置c语言环境
3.修改配置文件c_cpp_properties.json 和 launch.json
如下截图
4.附配置文件信息
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/vscode_project/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\vs_code_sour\\mingw64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "gcc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}/vscode_project/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "D:\\vs_code_sour\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
setting.json
{
"cmake.sourceDirectory": "${workspaceFolder}/vscode_project/",
"cmake.configureOnOpen": true,
"terminal.integrated.defaultProfile.windows": "Command Prompt",
}
tasks.json
{
"version": "2.0.0",
"command": "gcc",
"args": [
"-g",
"${workspaceFolder}/vscode_project/include/**",
"${workspaceFolder}/vscode_project/src/**",
"-o",
"vscode_project/${fileBasenameNoExtension}.exe"],// 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}/vscode/**"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}