1 安装 VS Code
官网下载
2 插件
2.1 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
提供中文操作界面
2.2 C/C++
提供语法检查/提示、代码调试等功能
2.3 clangd
提供更加强大的语法提示/补全、导航等功能
2.3.1 安装依赖
VSCode 新窗口中打开项目根目录所在文件夹。Ctrl+Shift+p
打开命令面板,输入以下命令后回车:
1
| clangd: Download language server
|
2.3.2 生成 compile_commands.json
安装 bear
使用方法:将正常编译命令作为 bear 的参数, 示例如下:
2.3.3 生成配置文件
VSCode 新窗口中打开项目根目录所在文件夹。创建文件夹.vscode
,然后创建文件settings.json
,对插件进行设定。示例如下:
1 2 3 4 5 6 7 8 9
| { "C_Cpp.inlayHints.parameterNames.enabled": true, "C_Cpp.intelliSenseEngine": "disabled", "C_Cpp.default.compileCommands": "${workspaceFolder}/build-femu/compile_commands.json", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build-femu", "--header-insertion=never", ] }
|
C_Cpp.default.compileCommands
应设置为compile_commands.json
文件的访问路径
compile-commands-dir
应设置为compile_commands.json
文件所在目录的访问路径
3 代码调试功能配置
3.1 配置方式
VSCode 新窗口中打开项目根目录所在文件夹。创建文件夹.vscode
,然后创建文件launch.json
,进行设定。示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build-femu/x86_64-softmmu/qemu-system-x86_64", "args": [], "stopAtEntry": true, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerServerAddress": "127.0.0.1:1234", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true }, { "description": "禁止用户中断1", "text": "handle SIGUSR1 noprint nostop", "ignoreFailures": false } ] } ] }
|
program
应设置为需要调试的二进制文件的访问路径
miDebuggerServerAddress
应设置为与启动gdbserver
时的设置相同
3.2 使用方式
在shell
中启动gdbserver
,将原有的程序运行命令作为 gdbserver 的参数之一。
1
| sudo gdbserver localhost:2222 qemu-system-x86_64 …
|
在 VSCode 的运行和调试
窗口中,启动调试。