fwupd/contrib/vscode/README.md
Mario Limonciello 2ea87013cd contrib: Add information on how to use debugging scripts
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.
2018-10-11 07:43:56 -05:00

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.