Home LLDBPyGUI - GUI for LLDB Debugger Python API with PyQt6
Post
Cancel

LLDBPyGUI - GUI for LLDB Debugger Python API with PyQt6

LLDBPyGUI

(former pyLLDBGUI)

LLDBPyGUI

Synopsis

LLDBPyGUI is a longtime missed gui of mine for the opensource debugger (framework) LLDB. While LLDB comes with a comperhensive set of tools and also a C++ and Python API. It lacks of providing a useful (at least for me) GUI as it’s only working as a terminal application at this day of age. So I took some time and started a GUI wrapper project that is using the Python API of LLDB and began to implement a UI with the help of PyQt6. The project is still in a really early prototype stage at the moment, but I didn’t want to let you miss the idea of mine and give you a short sneak-preview of the tool I have in mind.

Movie Trailer

Features

  • General info about the target executable and linked libraries
  • Disassembler / Debugger
  • Stacktrace viewer
  • Break- and Watchpoints
  • Register / Variable viewer
  • Synchronized source code view
  • Memory viewer
  • Search function
  • Commands interface (for lldb cmds)

Requirements

  • lldb version 18.0.0
    1
    2
    3
    4
    
    ave@Aeon ~ % lldb --version 
    lldb version 18.0.0git (https://github.com/llvm/llvm-project.git revision 7e0c5266309c1d2a0e6d766834415dff5cb65e47)
    clang revision 7e0c5266309c1d2a0e6d766834415dff5cb65e47
    llvm revision 7e0c5266309c1d2a0e6d766834415dff5cb65e47
    

How to install and run the app

To install the LLDBPyGUI app to LLDB you have to amend the .lldbinit file in you users home directory like so:

1
command script import /<pathToGuiScripts>/lldbpyGUI.py

(~/.lldbinit file)

To run the python app start a lldb instance with

1
2
3
ave@Aeon ~ % lldb
[+] Loaded LLDBPyGUI version 0.0.1 - ALPHA PREVIEW (BUILD: 689)
(LLDBPyGUI) spg

Disclaimer

Please keep in mind, that this release is only a really early Alpha release version that is intend to give you a first preview of what the app will look and function like. There is no waranty or garantie of working functionality or working feature what so ever. Anyhow every feedback or input from your side is very welcome as this will give me an idea what is important to you as an end user. So please feel free to send me any feedback about the app and your opinion. Thank you!

Documentation

Download / Github

Credits

LLDB

Python libs

Images and Icons

This post is licensed under CC BY 4.0 by the author.