mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-27 05:47:45 +00:00
47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# Using Visual Studio Code to debug
|
|
|
|
This directory contains a collection of scripts and assets to make debugging using Visual Studio Code easier.
|
|
|
|
## Preparing
|
|
|
|
First install the following applications locally:
|
|
|
|
* GDB Server
|
|
* GDB
|
|
* Visual Studio Code
|
|
|
|
In Visual Studio code, visit the extension store and install *C/C++* which is an extension provided by Microsoft.
|
|
Configure Visual Studio code to open the folder representing the root of the fwupd checkout.
|
|
|
|
## Building
|
|
|
|
Run `./contrib/debugging/build.sh` to build fwupd with all default options and create helper scripts pre-configured for debugger use.
|
|
The application will be placed into `./dist` and helper scripts will be created for `fwupdtool`, `fwupdmgr`, and `fwupd`.
|
|
|
|
## Running
|
|
|
|
To run any of the applications, execute the appropriate helper script in `./dist`.
|
|
|
|
## Debugging
|
|
|
|
To debug any of the applications, launch the helper script with the environment variable `DEBUG` set.
|
|
For example to debug `fwupdtool get-devices` the command to launch would be:
|
|
|
|
```shell
|
|
sudo DEBUG=1 ./dist/fwupdtool.sh get-devices
|
|
```
|
|
|
|
This will configure `gdbserver` to listen on a local port waiting for a debugger to connect.
|
|
|
|
## Using Visual Studio code
|
|
|
|
During build time a set of launch targets will have been created for use with Visual Studio Code.
|
|
|
|
Press the debugging button on the left and 3 targets will be listed at the top.
|
|
|
|
* gdbserver (fwupdtool)
|
|
* gdbserver (fwupd)
|
|
* gdbserver (fwupdmgr)
|
|
|
|
Select the appropriate target and press the green arrow to connect to `gdbserver` and start debugging.
|