This commit introduces a comprehensive suite of unit tests for the
py_debug_graph module, which is responsible for building debug graphs
in Python. The tests cover various scenarios including linked lists,
cycles, scalar values, and the handling of local and global variables
in the debugging context. Additionally, it verifies the behavior of
the debug_graph function and ensures that the builtins.root patch
works as intended. These tests aim to enhance the reliability and
robustness of the debugging functionality.
feat(debug): improve GDB pretty-printer support for structured types
fix(debug): update dump_debug_graph script to reflect changes in main.cpp
feat(visualization): add type hint display to node table visualizer
Replace the custom toDebugGraph() method that generated JSON directly in C++ with a generic GDB Python script (debug_graph.py). The script traverses pointers and structures to build a graph representation for the VS Code Debug Visualizer, enabling external pointer display and more extensible visualization.
Update launch configurations to load the script and to disable array/string truncation (needed for the visualizer JSON). Add a debugAdapterConfigurations entry in settings.json to use the expression template $debug_graph(${expr}) for the cppdbg adapter.
Rust version in src/main.rs (Cargo project) and a C++ port in cpp/main.cpp
using raw pointers, both with VS Code build tasks and gdb-based debug
configs. Vendors vscode-debug-visualizer and visualization as submodules
for reference while building a custom node-table graph visualizer.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>