- Modified WatchModel to handle storage of an hierarchy
of WatchItems.
- Factored out code for asynchronous population to
AsyncWatchModel and added a mixin for convenient
handling
- Added base class for synchronous models.
- Implement simple, synchronous models for CDB, greatly
simplifying code and finally getting manual
expansion right.
Signed-off-by: hjk <qtc-committer@nokia.com>
Output warnings to debugger log. Prevent breakpoints from
being set several times when loading session data by
clearing the complete break handler.
Reviewed-by: hjk <qtc-committer@nokia.com>
Following implicit cast occurred error C2664 from cl compiler.
(const WCHAR *) => (const ushort *)
(const ushort *) => (PCWSTR)
So fixed by using a explicit cast which reinterpret_cast.
Handle the 2nd parameter correctly as a event id
to be used for a handshake. Introduce a special mode
when attaching to crashed processes.
Code cleanup, pass StartParameters along to startDebugger.
Introduced struct DebuggerStartParameters to pass around
start parameters, removing the need for the engines to
access private members of DebuggerManager. Pass it
to DebuggerManager::startNewDebugger() and move
the GUI parts of that function into DebuggerPlugin,
making it possible to create the struct from command line
parameters. Introduce command line parsing with a few more
-enable-xx options. Introduce warning() to debugger panel
in the CDB engine.
On this occasion, clean out a few trailing whitespaces.
Handle functions with 0 variables correctly in the stack view.
Give names to unnamed formal parameters (causing WatchData
warnings). Ignore exception 06ba.
Make debugger tooltip API more general, have the engines check the
correct file type, figure out the expression and context from the text
editor.
Put common functionality in watchutils.cpp. In the CDB engine, check
whether a tooltip expression is a known variable within the stack frame
context. If so, retrieve via symbol group or dumpers. Cache by function
and expression.
Reviewed-by: hjk <qtc-committer@nokia.com>
Try to load custom dumpers using shared library injection
first as it is faster and does not rely on the symbol
for LoadLibrary being known to the debugger. Keep
call loading as fallback. Move the rest of the initalization
to the first dumper call, removing the need to break at main().
Make command execution output shown, use Wide version
of Debug Callbacks and output, provide bases classes
for other output and event handlers, move common
dumper functionality into debugger manager.
Add function to automagically resolve function symbol names
that are missing the module name (module!foo). Kill some
trailing whitespace. Add a hack to transform qMain->main for VS.
Filter debugging output correctly, some glitches. Extract
base class for debugging output to be able to intercept
debugging output for other purposes (such as disassembling).