get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.
Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
Remove BreakHandler::hasPendingBreakpoints, handle new types
in CDB and gdb. Start fixing Breakpoint-Dialog.
Add assignment of Breakpointresponse from BreakpointParameters.
Reviewed-by: hjk
The breakpoints are now (fairly) tightly guarded by the BreakpointHandler.
Engines and Views are only supposed to refer to them by id. They also have
individual states now. The breakpoint data is split into a "user requested"
"fixed" part in BreakpointData and the engines' acknowledged data in a new
struct BreakpointResponse.
TODO: Move m_state and m_engine members to BreakpointResponse. Fix regressions
in the marker handling.
Ensure that at most one instance of the CDBEngine is alive.
Prevent inconsistent debugger states if several sessions are started.
Squashed cherry-picked commits from master correcting the
plugin state handling (2efdeb5cd0,
57f7616286).
Reviewed-by: hjk
Task-number: QTCREATORBUG-2894
(cherry picked from commit 5a5ba58dc9)
setError() on them instead (should there be any from
a session mixup). Give the session engine watcher
capabilities and ensure 'Remove watch item' is enabled
for the session engine by checking the debugger state.
Reviewed-by: hjk
assignValueInDebugger: Pass on WatchData as well, pass
on values as QVariant. Based on that, do more extensive
checks in CDB, preventing assignment of non-PODs.
Locals/Watch editing:
* Disable while running
* Edit pointer values as hex with validation.
CDB: Strip class types off reported pointer values and reformat
the values as short 0x-pointer values, introduce flag to
WatchData::source to do dumper expansion handling.
Windows: recognize int64 as int.
Register handler: Fix accessing uninitialized value.
Make address a quint64. Enable DisassemblerViewAgent
to match the disassembly-addresses by converting the numbers,
making it more robust. Remove the complicated formatting needed
for CDB.
...which subclasses DebuggerRunner and does not call
DebuggerPlugin::startDebugger(), which connects the
engine, leading to strange malfunctions. Move functionality
to DebuggerRunner::start() to make it self-contained.
Add object names to engines for easier debugging.
Reviewed-by: hjk