docs: update VS Code debugger configuration descriptions (#12335)

pull/12360/head
Xiao 2021-10-29 23:06:28 +08:00 committed by GitHub
parent 1785b184b9
commit 7e0f2fcda9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 47 additions and 12 deletions

View File

@ -47,13 +47,16 @@ edit the variable.
### Setup Debugging ### Setup Debugging
#### Step1: Configure the launch.json file
1. Install the [C/C++ Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) 1. Install the [C/C++ Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
2. Open `RUN AND DEBUG` panel (Debug Icon in left panel). 2. Open `RUN AND DEBUG` panel (Debug Icon in left panel).
3. Click on `Show` all automatic debug configurations. 3. Click on `Show` all automatic debug configurations.
4. Select `Add config`. 4. Select `Add config`.
5. Select environment `C++ (GDB/LLDB)`. 5. Select environment `C++ (GDB/LLDB)`.
6. Change the line `"program": "Enter the program name, e.g. \"${workspaceFolder}/a.out\"",` 6. Change the line `"program": "Enter the program name, e.g. \"${workspaceFolder}/a.out\"",`
to point to your compiled application e.g. `"program": "${workspaceFolder}/hello",`. to point to your compiled application e.g. `"program": "${workspaceFolder}/hello",`
or a more flexible one `"program": "${fileDirname}/${fileBasenameNoExtension}",`
when you want to debug the current opened file.
This will add a block to your `.workspace` file, This will add a block to your `.workspace` file,
or create the file `.vscode/launch.json`: or create the file `.vscode/launch.json`:
@ -62,7 +65,7 @@ or create the file `.vscode/launch.json`:
// Use IntelliSense to learn about possible attributes. // Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes. // Hover to view descriptions of existing attributes.
// For more information, visit: // For more information, visit:
// https://go.microsoft.com/fwlink/?linkid=830387 // https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
@ -75,7 +78,8 @@ or create the file `.vscode/launch.json`:
"cwd": "${fileDirname}", "cwd": "${fileDirname}",
"environment": [], "environment": [],
"externalConsole": false, "externalConsole": false,
"MIMode": "lldb" "MIMode": "lldb",
"preLaunchTask": "build"
} }
] ]
} }
@ -84,21 +88,52 @@ or create the file `.vscode/launch.json`:
**Optional:** use `"program": "${fileDirname}/${fileBasenameNoExtension}"` to debug **Optional:** use `"program": "${fileDirname}/${fileBasenameNoExtension}"` to debug
any current open source file with an existing binary with the same name but without any extension. any current open source file with an existing binary with the same name but without any extension.
#### Step2: Configure the task.json file
Generally, you can manually compile the application with: `v -b c -g hello.v -o hello`,
or for short: `v -g hello.v`, and then call the debugger.
The `-g` option will add the needed debugging information.
You can find more debugging options in the [docs](docs.md#debugging).
VS Code provides a hook called `preLaunchTask`, which can be used to compile
the application automatially every time you call the debugger.
[preLaunchTask](https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes) launches
a task before the start of a debug session, set this attribute to the label of a task specified
in [task.json](https://code.visualstudio.com/docs/editor/tasks) (in the workspace's .vscode folder).
Or, this can be set to `${defaultBuildTask}`, to use your default build task.
As explained, the `"preLaunchTask": "build"` needs to work with a `.vscode/task.json`
with a label named `build`.
```json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "v",
"args": [
"-g", // add more compiler options here if necessary
"${relativeFile}" // or modify it according to your requirements
],
"group": "build",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$gcc"
}
]
}
```
### Usage ### Usage
To allow your compiled application to be debugged. To allow your compiled application to be debugged.
The application needs to include additional debugging information The application needs to include additional debugging information
([DWARF](https://en.wikipedia.org/wiki/DWARF)). ([DWARF](https://en.wikipedia.org/wiki/DWARF)).
**1. Compile with debugging information:**
`v -b c -g hello.v -o hello` or short `v -g hello.v`
The `-g` option will add the needed debugging informations.
More Options are explained in the [docs](docs.md#debugging).
**2. Start Debugging**
1. Open your source code and set the required break points 1. Open your source code and set the required break points
2. Click on the Debug Icon in the left Icon panel and click 2. Click on the Debug Icon in the left Icon panel and click
`> (lldb) Start`, or use `F5` to launch your application in debug mode. `> (lldb) Start`, or use `F5` to launch your application in debug mode.