Commit Graph

34 Commits

Author SHA1 Message Date
Friedemann Kleint
ab6f124e57 Debugger: Make threads tooltip more verbose
CDB: Add more information and state to Thread.
Refactor thread information in CdbCore classes to prepare for more
information.
2010-07-02 14:35:41 +02:00
hjk
6a6cba5518 debugger: The DebuggerEngine refactoring.
This replaces the (de facto) singleton engines and data handlers by classes
that are instantiated per run. The DebuggerRunControl will now create an
object of (a class derived from) DebuggerEngine that contains all the relevant
"dynamic" data.

DebuggerManager is no more. The "singleton" bits are merged into DebuggerPlugin,
whereas the data bits went to DebuggerEngine.

There is no formal notion of a "current" DebuggerEngine. However, as there's
only one DebuggerEngine at a time that has its data models connected to the
view, there's still some "de facto" notion of a "current" engine. Calling
SomeModel::setData(int role, QVariant data) with custom role is used as the
primary dispatch mechanism from the views to the "current" data models
(and the engine, as all data models know their engine).
2010-06-22 10:59:57 +02:00
Friedemann Kleint
239a95710f Debugger: Windows compile fix/warnings 2010-05-19 08:51:46 +02:00
hjk
2f69bae63f debugger: gather more information on threads when easily available 2010-05-18 12:13:27 +02:00
Friedemann Kleint
de068090a0 Compile Windows. 2010-03-18 11:10:07 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Friedemann Kleint
fc972e44ef CDB: Extract SymbolGroupContext class into Core library.
Split for testing/scripting purposes.
2010-02-04 13:20:37 +01:00
Oswald Buddenhagen
75b42f18d8 Merge remote branch 'origin/1.3'
Trailing whitespace removal re-applied manually.
2010-01-29 22:50:23 +01:00
Oswald Buddenhagen
a6ca348636 remove trailing whitespace
doing it in 1.3 as well to avoid possible later conflicts
2010-01-29 21:33:57 +01:00
Friedemann Kleint
d348e5099b Debugger/CDB: Split engine for testing/scripting purposes. 2010-01-22 17:15:33 +01:00
Tobias Hunger
592e494d1a Fix typos
Reviewed-by: thorbjorn
2010-01-11 10:26:13 +01:00
Friedemann Kleint
ee3dde9cee CDB: Case-normalize file names returned by CDB
Fixing various problems with breakpoints and opened files caused by CDB
returning lower-case file names.
Task-number: QTCREATORBUG-438
Reviewed-by: hjk <qtc-committer@nokia.com>
Acked-by: mariusSO <qt-info@nokia.com>
2009-12-15 11:02:09 +01:00
Friedemann Kleint
f240ceb4e6 CDB: Fix code model scope detection when stopping at function scope.
that is, setting a break point at the opening brace or at function.
Set StackFrame::from correctly.
2009-10-19 10:59:46 +02:00
Friedemann Kleint
25ee70bb24 Debugger: Use the code model to detect unitialized variables.
This should save debugger round trips and crashes in the debugging
helpers.
Add respective option to debugging helper option page, defaulting to
true.On this occasion, make CDB detect shadowed variables correctly
and display them as "<shadowed n>" as does the Gdb engine by
reversing the direction in which
CdbSymbolGroupContext::populateINameIndexMap works.
Rubber-stamped-by: hjk <qtc-committer@nokia.com>
2009-10-16 16:26:28 +02:00
Friedemann Kleint
14058c07ec CDB: Bug fixing
- Turn off initial breakpoint when attaching (terminal) and
  additionally ignore it before the first startup complete
- Refuse to step  the artifical thread created when
  interrupting
- If possible, switch to thread 0 when interupting (do not
  use artificial thread)
- Ignore non-fatal exceptions in dumper calls (stray Startup-
  complete-traps)
- Use right thread for dumper call loading
- Rename windows exception code enumeration
- Turn off modification off watch-data children by setType,
  show empty lists correctly.
- Verbose warnings about inserting invalid watch data.
2009-10-13 14:16:50 +02:00
Friedemann Kleint
c70f968fac CDB: Fix step into, improve multithread dumping, exception logging
Use new call syntax of 6.11. for dumper call loading. Execute
Dumpers in a single thread (current) if at all possible (not
in some WaitFor or artificial break thread). Show one more
frame in threads view if it is FastCallReturn. Fix step into
(ignore one event), log some more exceptions. Generally log
exceptions to the debugger windows to be able to see stuff
like DLL missing, etc.
2009-10-06 15:50:48 +02:00
Friedemann Kleint
ec9597b160 CDB: Restore current thread. 2009-10-05 17:30:45 +02:00
Friedemann Kleint
2a9233a03a CDB: Provide thread frame information 2009-10-05 17:20:38 +02:00
Friedemann Kleint
1fad39c923 CDB: Fix dumper regression
- Do not deref d-ptr when checking on QVariants of PODS
- Make type/value fixing of dumper results more fine-grained
- Allow children in expandPtrToDumpage (QWidget-Pointers)
- Fix broken size cache (queuePrefix was empty)
- Compile
2009-10-02 15:17:50 +02:00
Friedemann Kleint
cb8830d9af CDB: Remove "experimental" message, better logging for threads 2009-09-29 17:33:51 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
hjk
ad46f1286f Revert "Enabled the use of Debugger-specific watch/locals models."
This reverts commit abf5e3ddc3.
2009-07-13 09:11:07 +02:00
Friedemann Kleint
abf5e3ddc3 Enabled the use of Debugger-specific watch/locals models.
- 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>
2009-07-10 14:36:28 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
axasia
8d53cb0fb4 Fix compile error on MSVC2008 Express Edition with Debugging Tools for Windows(CDB).
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.
2009-05-30 23:03:43 +09:00
Friedemann Kleint
65a179da14 A bit of QA testing of CDB.
Handle functions with 0 variables correctly in the stack view.
Give names to unnamed formal parameters (causing WatchData
warnings). Ignore exception 06ba.
2009-05-20 14:20:38 +02:00
Friedemann Kleint
0e3aa47fcd Added ToolTip support for CDB.
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>
2009-05-14 14:29:37 +02:00
Friedemann Kleint
72a183777e Initial work on dumpers for CDB.
Add dumper calls, parser etc. Catch crashes
in the dumper functions.
2009-04-29 14:15:09 +02:00
Friedemann Kleint
471d31ac9c CDB refactoring, introduce typedefs to remove version numbers.
Log exceptions with stacktrace.
2009-04-21 12:30:12 +02:00
hjk
800a48f027 debugger: code cosmetics 2009-04-15 14:26:08 +02:00
Friedemann Kleint
d4ccc16f9f Implement disassembler for cdb.
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).
2009-04-14 15:04:19 +02:00
Friedemann Kleint
d199d6606e Continue CDB.
Improve locals handling, add watcher handling via expressions. Make
debug marker appear, start with breakpoint synchronization.
2009-04-07 17:07:11 +02:00
Friedemann Kleint
b3f620e514 Add expanding of symbols. 2009-03-27 17:19:39 +01:00
Friedemann Kleint
536320ea1a Start stack frame context/symbol group classes for CDB 2009-03-26 16:49:28 +01:00