Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 1.65 KB

File metadata and controls

86 lines (61 loc) · 1.65 KB

Perception monitoring and diagnosability

Requirements

To run this code you need:

  • Python 3.8
  • Poetry
  • Bazel 4.2 or higher
  • GCC supporting C++17 standard

The python package is managed by Poetry, while C++ is compiled by Bazel.

Installation

To install all the python dependencies run:

poetry install --no-dev

Remove the --no-dev flag to install the development dependencies.

If you need to run the GNN, you also need to install PyTorch and PyTorch Geometric:

poetry run poe install-pytorch

To compile the C++ code (Percival), run:

bazel build --config c++17 ...

Test

For the python package run

poetry run pytest diagnosability/tests/

To run C++ tests instead

bazel test --config c++17 --test_output=all ...

Debug C++ Code using VSCode

First you need to compile the source code with debug symbols using the following command:

bazel run --config c++17 ... --compilation_mode=dbg

Them, suppose you want to debug //percival/app:example, edit your launch.json in VSCode and add

{
    "name": "(gdb) Example",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceFolder}/bazel-bin/percival/app/example",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ]
}

then you can use the GDB integrated in VSCode to debug the binary.

How to use it

Coming soon...