Qt Creator CDB Extensions
Qt Creator CDB extensions are loaded into CDB.exe (see cdbengine.cpp). They provide the following features:
- Notification about the state of the debugging session:
- idle: (hooked with .idle_cmd) debuggee stopped
- accessible: Debuggee stopped, cdb.exe accepts commands
- inaccessible: Debuggee runs, no way to post commands
- session active/inactive: Lost debuggee, terminating.
- Hook up with output/event callbacks and produce formatted output
- Provide some extension commands that produce output in a standardized (GDBMI) format that ends up in handleExtensionMessage().
Creates a Symbol group representing the Locals view | |
Creates a symbol group storing a tree of expanded symbols rooted on a fake "locals" root element | |
Creates a watch symbol group | |
Abstract base class for a node of SymbolGroup providing the child list interface | |
The base class for a node of SymbolGroup with a flat list of children | |
Debug filtering output visitor | |
Debug output visitor | |
Contains all parameters for GDBMI dumping of a symbol group in one class. The debugging engine passes maps of type names/inames to special integer values indicating hex/dec, etc | |
GDBMI dump output visitor used to report locals values back to the debugging engine | |
[fake] map node with a fake array index and key/value entries consisting of ReferenceSymbolGroupNode | |
Artificial node referencing another (real) SymbolGroupNode (added symbol or symbol from within an expanded linked list structure) | |
Represents a real node within a symbol group, identified by its index in IDebugSymbolGroup | |
Visitor that iterates over the nodes and builds the full iname path ('local.foo.bar') that is required for GDBMI dumping | |
Qt information determined on demand | |
Flyweight tied to a SymbolGroupNode providing a convenient operator[] (name, index) and value getters for notation of dumpers | |
Passes all IDebug interfaces required for SymbolGroupValue |