不出意外的话,大家最开始使用VSCode的时候都被它的配置麻烦到了吧,接下来我会尽量详细的介绍.vscode
文件夹里的json文件都是干什么的,以及你需要怎么写
文件介绍
一般情况下你的./vscode
文件夹里可能有这些文件:
launch.json
文件就是你的调试程序的配置文件(感觉表达不是很清楚)tasks.json
里写的是一些调试前需要运行的一些命令settings.json
里写的是VSC的插件的配置,这些配置仅在当前目录下生效c_cpp_properties.json
相当于指路牌,告诉你的分析代码的插件应该上哪找头文件(仅限C/C++,我不了解其他语言有没有类似的文件)
一般情况下,你可能只需要task以及launch,执行task编译生成程序再launch调试。这里就主要讲一下这俩
tasks.json
其实现在你只要把鼠标放到上边他就会提示你这是什么,但是大家可能还是不太懂啊,如果是你自己配置的话你需要注意"command"
参数即可,你需要在这里输入你的编译器路径即可(如果你只需要编译的话,其他的操作同理,输入对应程序的路径,别说你不知道g++,不会下载,不知道自己查去)。
如果你需要修改编译参数,只需要在"args"
里加新加一行你需要的参数,比如我的参数有"-std=c++23"
代表我写的代码需要使用c++23的库,然后"-g"
对应文件编译输出到"${fileDirname}/${fileBasenameNoExtension}.out"
就是文件所在目录里,编译文件名叫 文件名.out。
例如这段代码,经过task生成,使用对应参数最后输出编译文件
launch.json
{
"configurations": [
{
"name": "C/C++: g++.exe 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/home/koarz/ldb_toolchain/bin/gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": false
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
为了方便你直接用,我就把我的配置贴到这。
首先看"program"
参数,这个参数就是你要调试的文件的位置,这里用 $ 那一串就是为了方便,你不嫌麻烦的话可以自己写文件的绝对位置,不然直接这个参数就照着tasks.json
里的-o
后边的写就行,args就是执行你调试程序输入的参数,一般来说你不需要写这个,除非你的程序需要处理某些参数,"externalConsole"
为true的话就会直接跳出来程序界面,否则就在vsc终端那里显示了,"miDebuggerPath"
后需要写你的gdb路径(如果你用gdb调试的话,用lldb就写lldb路径并将"MIMode"改成lldb)。
最后就是"preLaunchTask"
,这个就是你在调试前执行的tasks中的task,具体内容填写tasks里的 "label" 就会执行对应task了,在执行完之后才会执行gdb调试。
评论 (0)