"""LLDB has been structured from the beginning to be scriptable in two ways – a Unix Python session can initiate/run a debug session non-interactively using LLDB; and within the LLDB debugger tool, Python scripts can be used to help with many tasks, including inspecting program data, iterating over containers and determining if a breakpoint should stop execution or continue."""
> Extend your favorite C++ compiler with a flag that generates python bindings for all data variable symbols.
The linked-to lldb documentation has a section on "Accessing & Manipulating Program Variables". I'm pretty sure it can all be built though the existing clang debug info.
Sounds pretty neat to access and visualize the inner workings of a C/C++ program as a program which works like an attached debugger.
When I debug, sometimes I write code which pretty-prints the object to stdout, and then execute that inline ("evaluate expression") when I need to.
It may be kind of hacky but it works well and it's super easy to implement. As a bonus, you usually end up pretty-printing the object in some debug-logger anyways.
like lldb? https://lldb.llvm.org/use/python.html
"""LLDB has been structured from the beginning to be scriptable in two ways – a Unix Python session can initiate/run a debug session non-interactively using LLDB; and within the LLDB debugger tool, Python scripts can be used to help with many tasks, including inspecting program data, iterating over containers and determining if a breakpoint should stop execution or continue."""
> Extend your favorite C++ compiler with a flag that generates python bindings for all data variable symbols.
The linked-to lldb documentation has a section on "Accessing & Manipulating Program Variables". I'm pretty sure it can all be built though the existing clang debug info.
Sounds pretty neat to access and visualize the inner workings of a C/C++ program as a program which works like an attached debugger.