mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
docs: update VS Code debugger configuration descriptions (#12335)
This commit is contained in:
parent
1785b184b9
commit
7e0f2fcda9
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user