Visual Debugging Now

  • > But the debugger is programmable itself, and uses Python natively as a scripting language.

    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.

  • This article reminds me a demo Eskil Steenberg did about a visual live memory debugger

    https://youtu.be/pvkn9Xz-xks

  • 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.

  • Asking the HN community: what are the modern options in terms of debugging native programs these days?

    It seems that this is an area that hasn't seen much progress over the years.