mirror of
https://git.proxmox.com/git/fwupd
synced 2025-06-03 05:25:23 +00:00

At least for me it was a challenge to get the debugger properly configured to allow debugging fwupd when built in tree. This should allow very simple debugging.
40 lines
1.5 KiB
Markdown
40 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:
|
|
|
|
```
|
|
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.
|