cxxdbg-vscode is the VS Code extension for cxxdbg,
a C++ debugger built on top of LLDB with advanced features for
debugging complex programs written in modern C++. It integrates
cxxdbg into VS Code via the
Debug Adapter Protocol.
Features
Advanced stepping functions: stepping through standard functional
objects (std::function, std::bind result) and user-defined
functional objects matched by regular expressions, directly to the
call target.
Advanced formatting support for the libstdc++ and libc++ standard
libraries: containers, strings, smart pointers, functional types,
tuple/optional/any/variant, chrono, and regex.
Configurable stack trace filtering that hides frames of no
interest, for example frames of standard or user-defined functional
objects.
Launch and attach debug configurations, with support for remote
debugging.
Configuration
Add a launch or attach configuration with "type": "cxxdbg" to
.vscode/launch.json. Minimal example:
avoidNodebug (default true) — skip functions with no debug
info when stepping in.
avoidStdFunctions (default true) — skip standard library
functions when stepping in.
stepThroughStdFunctions (default true) — when stepping in,
run through standard functional-object code (std::function,
std::bind) without stopping there, landing on the actual call
target instead of library internals.
avoidRegexList (array of regex patterns, default []) — skip
functions whose name matches any pattern when stepping in.
stepThroughRegexList (array of regex patterns, default []) —
step through functions whose name matches any pattern, same as
stepThroughStdFunctions.
Stack trace filtering:
markStdFunctions (default true) — mark standard
functional-object frames as subtle in the call stack; does not
change stepping behavior.
markRegexList (array of regex patterns, default []) — mark
frames whose function name matches any pattern as subtle, same as
markStdFunctions.
Value display:
displayHex (default false) — display integer values in
hexadecimal.
displayMinHexSize (default 4) — minimum size in bytes for a
value to be displayed in hexadecimal when displayHex is set.
displayRawData (default false) — display a [Raw Data] field
with the unformatted fields of a formatted value.