Commit Graph

69 Commits

Author SHA1 Message Date
Friedemann Kleint
cd3b6c7b23 Debugger[CDB]: Switch to thread 0 after DebugBreak().
Do not show artificial thread that is created by
DebugBreak() as it causes a switch to disassembly.
Forcibly discard the symbol group for each locals
update as the lazy creation mechanism does not trigger
on thread changes back and forth involving assembly,
which causes the symbol group to become stale.
2011-01-18 15:34:58 +01:00
Friedemann Kleint
11c6ca71ac Debugger[New CDB]: Add support for "Select Widget to Watch".
in stopped state. Add helper for executing calls
to ExtensionContext including recording of output in
OutputCallback. Extend symbol resolution to return addresses
as well since QApplication::widgetAt() is ambiguous and needs
to be called by address. Add 'widgetat' extension command
to return the widget.
2011-01-18 11:40:45 +01:00
Friedemann Kleint
8108bb0c89 Debugger[New CDB]: Ignore only first WOW64 breakpoint.
Subsequent ones are caused by interrupts.
2011-01-17 15:18:13 +01:00
Friedemann Kleint
3a87af8ada Debugger[New CDB]:Introduce watches infrastructure.
- Move the 'current module' into the Node
- Split symbol group hierarchy into LocalsSymbolGroup
  tied to frame/thread and a separate, scopeless
  WatchesSymbolGroup
- Add infrastructure for removing symbols from a SymbolGroup,
  doing the index bookkeeping.
- Add method to synchronize watches to  WatchesSymbolGroup
  (iname/name map).
- Introduce watches commands for adding and dumping.
- Extend locals command to get watches as well.
- Add a dummy 'ErrorSymbolGroupNode' to use in case
  insertion fails.
2011-01-14 16:53:05 +01:00
Friedemann Kleint
56bbd4adca Debugger[New CDB]: Fix output format. 2011-01-13 14:27:52 +01:00
Christian Kamm
49655d622d debugger: Slightly improve compile fix for linux.
Reviewed-by: Friedemann Kleint
2011-01-12 14:21:44 +01:00
hjk
9f6e0091b8 debugger: compile fix on linux 2011-01-12 14:18:20 +01:00
Friedemann Kleint
a60b3f6746 Debugger[New CDB]: Improve 32bit debugging on 64bit systems.
- Ignore WOW64 breakpoints. Restructure code to examine stop reason
  before notifications to be able handle special stop reasons
  in a simpler way.
- Fix autodetection to look into %ProgramFiles% (x64) as well.
2011-01-12 13:51:33 +01:00
hjk
6dd55aa471 debugger: introduce generic master/slaves engine 2011-01-12 12:17:47 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Friedemann Kleint
b74ecbdb5a Debugger[New CDB]: Update all variables on assignment.
Some documentation/comment changes.
2011-01-11 14:58:32 +01:00
Friedemann Kleint
7ff4b1fec2 Debugger[New CDB]: Get rid of postfix '2' in file names/classes. 2011-01-11 11:22:55 +01:00
Friedemann Kleint
01d4c5a3d3 Debugger: R.I.P. old CDB engine. 2011-01-07 15:04:54 +01:00
con
b1bcf081d8 Merge branch '2.1'
Conflicts:
	src/plugins/coreplugin/basemode.cpp
	src/plugins/coreplugin/basemode.h
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h
	src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp
	src/plugins/debugger/debuggeragents.cpp
	src/plugins/debugger/debuggeruiswitcher.cpp
	src/plugins/debugger/debuggeruiswitcher.h
	src/plugins/projectexplorer/buildconfigdialog.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
	src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h
	src/plugins/qmldesigner/designercore/include/modelutilities.h
	src/plugins/qmldesigner/designercore/include/nodeinstance.h
	src/plugins/qmldesigner/designercore/include/propertymetainfo.h
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h
	src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h
	src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h
	src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp
	src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
	src/plugins/qmldesigner/designercore/model/modelutilities.cpp
	src/plugins/snippets/inputwidget.cpp
	src/plugins/snippets/snippetscompletion.cpp
	src/plugins/snippets/snippetscompletion.h
	src/plugins/snippets/snippetspec.cpp
	src/plugins/snippets/snippetsplugin.cpp
	src/plugins/snippets/snippetswindow.cpp
	src/plugins/snippets/snippetswindow.h
	src/plugins/texteditor/snippetsparser.cpp
	src/tools/qml/qmldom/main.cpp
	tests/manual/trk/runner.cpp
	tests/manual/trk/trkolddevice.cpp
	tests/manual/trk/trkolddevice.h
	tests/manual/trk/trkserver.cpp
2010-12-17 17:00:53 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
hjk
9757e22113 debugger: introduce the concept of a 'Location', used by gotoLocation 2010-12-17 11:59:01 +01:00
hjk
fb837b5230 debugger: s/*ViewAgent/*Agent/ to reduce noise and match file names 2010-12-14 13:10:07 +01:00
Friedemann Kleint
bee04cf1f5 Debugger[CDBs 32bit]: Fix 'Jump to Line'.
PC register is 'rip' for 64bit and 'eip' for 32bit.

Task-number: QTCREATORBUG-3361
2010-12-13 17:19:21 +01:00
Leandro Melo
27bab4e811 Compile fix. 2010-12-08 17:20:45 +01:00
hjk
cfd2dbb395 debugger: split debuggeragents.{h,cpp} int {memory,disassembler}agent.{h,cpp} 2010-12-08 16:48:35 +01:00
Bill King
c6a4c233eb debugger: Make compile 2010-12-03 11:12:44 +10:00
Friedemann Kleint
a4d7fb2f06 Debugger: Fix compilation, centralize breakpoint type detection.
Reviewed-by: hjk
2010-11-26 13:06:03 +01:00
hjk
7d8d51677b debugger: polish module symbols 2010-11-26 11:27:25 +01:00
Friedemann Kleint
c619360860 Debugger: Fix CDB Disassembler 2010-11-24 16:51:02 +01:00
Friedemann Kleint
c35672eaa8 Debugger: Remove 'friend gdbengine' from stackhandler.
Preparing the introduction of tooltips for the new
CDB engine. Fix some breakpoint states in CDB.
2010-11-22 17:06:08 +01:00
hjk
5209b396cd debugger: make BreakHandler::setState private 2010-11-18 17:54:05 +01:00
Friedemann Kleint
727b8c3c31 Debugger: Use Symbol server nagging code in both CDB engines. 2010-11-18 16:22:41 +01:00
Friedemann Kleint
d1c08e68cc Debugger: Move some Windows functionality around.
Preparing the introduction of the new CDB engine.
2010-11-17 17:01:51 +01:00
Oswald Buddenhagen
1e362b0f8b overhaul process argument handling
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
2010-11-17 13:19:07 +01:00
Friedemann Kleint
9235e9360b Debugger: Compile CDB 2010-11-17 08:28:35 +01:00
hjk
0ccba579f6 debugger: potentia;l cdb compile fix 2010-11-16 11:12:05 +01:00
Friedemann Kleint
29beabd5a4 Debugger: Handle throw/catch/main as BreakpointType enum values.
Remove BreakHandler::hasPendingBreakpoints, handle new types
in CDB and gdb. Start fixing Breakpoint-Dialog.
Add assignment of Breakpointresponse from BreakpointParameters.

Reviewed-by: hjk
2010-11-16 10:23:20 +01:00
Friedemann Kleint
30d6ae0e3d Debugger: Make CDB compile again. 2010-11-15 15:24:47 +01:00
hjk
8ae541b36f debugger: Refactor breakpoint handling.
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.
2010-11-15 12:09:25 +01:00
Friedemann Kleint
c0ac7aaf36 Debugger: Compile Windows. 2010-11-10 12:30:02 +01:00
Friedemann Kleint
ea59569640 Debugger[CDB]: Add register manipulation and 'Jump to line'.
Task-number: QTCREATORBUG-2975
2010-11-03 15:24:02 +01:00
Tobias Hunger
7a0e15b14e Fix spelling in dissassemble method
Krazy was complaining about this.

Reviewed-by: Friedemann Kleint
2010-11-03 12:45:35 +01:00
Friedemann Kleint
6510a749b7 ProjectExplorer: Move ToolChainType enumeration into separate Header.
Acked-By: dt
2010-11-01 14:25:24 +01:00
Oswald Buddenhagen
354c4d868d fix error message and source in the TS files 2010-10-28 14:28:25 +02:00
hjk
6e37beaf53 Debugger [CDB]: Release COM interfaces on RunControl finished.
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)
2010-10-27 11:51:20 +02:00
Friedemann Kleint
fb82c78086 Debugger: Fix CDB shutdown warnings.
Protect endInferior() from repeated invocation.

Reviewed-by: hjk
Task-number: QTCREATORBUG-2681
2010-10-11 16:37:19 +02:00
Friedemann Kleint
82f80d5403 Debugger[CDB]: Do not evaluate watch expressions at all.
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
2010-10-11 12:59:49 +02:00
Friedemann Kleint
90872c632d Debugger[CDB]: Fix breakpoints.
Reviewed-by: hjk
Reviewed-by: aep <arvid.picciani@nokia.com>
Task-number: QTCREATORBUG-2612
2010-10-06 13:39:21 +02:00
Friedemann Kleint
58865c35b0 Debugger[CDB]: Handle 'enabled' configuration setting.
Pass on error message when engine creation fails.

Reviewed-by: hjk
Task-number: QTCREATORBUG-2608
2010-10-05 14:30:26 +02:00
Friedemann Kleint
36709fd20f Debugger[CDB]: Do not kill debuggee when aborting attach to running.
Reviewed-by: hjk
2010-09-30 12:15:08 +02:00
Jarek Kobus
da79614008 Translator corrections 2010-09-29 12:48:50 +02:00
Friedemann Kleint
8d6f67f594 Debugger: List break on catch/throw as such and map names in engine.
Introduce special setting 'Stop on exception' for CDB.
Reviewed-by: hjk
2010-09-28 16:42:21 +02:00
Friedemann Kleint
19a1210376 L10n: tr()-fixes. 2010-09-23 15:18:07 +02:00
Friedemann Kleint
13c97d652e Debugger: Fixes around watch editing.
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.
2010-09-23 13:22:08 +02:00
Friedemann Kleint
1d978a3618 Debugger: Sanitize Datatypes, part 2: Stackframes.
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.
2010-09-21 15:12:33 +02:00