Commit Graph

1224 Commits

Author SHA1 Message Date
hjk
5bb8134ec1 Debugger: Support gdbservers that don't have --once again
There are too many setup without support for --once.

Change-Id: I172b8b8d58a3960d9d93b48e692e612b7627ba56
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Tim Sander <tim@krieglstein.org>
2014-10-06 22:28:27 +02:00
hjk
10c8d5f0ca TextEditor: Rename BaseTextEditorWidget to TextEditorWidget
... and some of the related implementation details

Change-Id: I1f03aa5acf2d3fb2cfc2a6a7845f3d3578b0408d
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-09-29 14:54:32 +02:00
hjk
953cdb971f TextEditor: More BaseText* -> Text* renamings
*Document* and *Layout* classes, all basetext* files

Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-26 10:12:51 +02:00
hjk
970264a88e Debugger: Operate tooltips on TextEditorWidgets, not TextEditor
Less indirection.

Change-Id: Ifbd7195e853d02bfd6562c817fc7f30079913faf
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-19 16:00:24 +02:00
Orgad Shaneh
ad957282c8 Debugger: Cleanup
Change-Id: Iaf7a3d69d920f8096763e2d8033df2d6371683a7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-12 13:58:47 +02:00
hjk
6431ab2c79 Use Qt 5's QStringList::join(QChar)
Less typing and less cycles than join(QString) where appropriate

Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-25 08:21:14 +02:00
hjk
5ac407eecc Debugger: Reduce line noise
Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.

Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-28 15:48:15 +02:00
hjk
bf5e43be94 TextEditor: Merge ITextEditor and BaseTextEditor
Adjust all callers, de-export BaseTextEditorAnimator

Change-Id: I2329d976c1398e2449844bb480a4d4ed29859506
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-25 13:45:55 +02:00
hjk
f0b2d6535e Debugger: Rework editor tooltips handling
Fix expansion and updating.

Persistence and non-locals are still lacking.

Change-Id: I74e25199d50350516afc686a05836e239bfc8acb
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-11 12:19:01 +02:00
hjk
dbae15684f Debugger: Simplify tooltip interface
Change-Id: I7ce688e56fb516ef6e77ee2e4f56d9b56379918b
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-09 13:37:45 +02:00
hjk
fc46406fc8 Debugger: Allow loading dumpers from a file directly
Instead of requiring the user to add the required python
code to load them manually let him specify a file directly.
This also makes the feature accessible to LLDB which needs
a slightly different syntax.

Task-number: QTCREATORBUG-12492
Change-Id: I12621b1cea2429476b0865bcbcb739a238dcf6af
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-06-24 08:48:15 +02:00
Tim Sander
3828c94b39 GdbDebugger: add fast restart for debugging
Change-Id: Ie51847de912748d05a6b208bec82fd612d777202
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-06-20 10:57:03 +02:00
Nikita Baryshnikov
12103e0f67 Reinvent deprecated qSort as Utils::sort
Change-Id: I4f6011cc2b6127037249aabc2426a88ad7108ebf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-19 14:00:32 +02:00
hjk
778a57eeb5 Debugger: Code cosmetics
Change-Id: Iefdf58baac3639dedd4f49fc394eecdb510c6cf6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-05 14:17:45 +02:00
Tim Sander
b7b8c47bdb BareMetal: add variable support for device gdb commands
Change-Id: I192ccf4dc7a2599ead1fcdd11a4d59f0e22e3e1d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-05 12:49:03 +02:00
hjk
c35ad8c62a Debugger: Fix regression in core file creation.
Introduced with 6dd3be2fee.
The gcore commands accepts files with spaces, but only unquoted.

Change-Id: Iac9a43f4db24252faf4fe4aac5ab0ced3dcb3c3f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-05-27 20:24:30 +02:00
hjk
d9ba7998c5 Debugger: Fix/simplify selection of Widget to watch with newer GDBs
GDB does return dynamic types nowadays, and some widgets are
not plain QWidgets but subclasses...

Change-Id: If3b7b0f7d639858eeb1e42659a649db22822c20f
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-27 15:44:21 +02:00
hjk
ddfc1f8d27 Disassembler: Force disassembler reload when switching output flavor
Change-Id: I8356cba5766a0afc519c66f120c24d1755c840e4
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-26 16:26:17 +02:00
Orgad Shaneh
6aa1f3ccc0 Debugger: Pass Abi as const reference
Change-Id: I9f7ef9becc1509cea9ee8f9284a09fc10fdb150f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-20 10:24:24 +02:00
hjk
40052046fd Debugger: Rework display length limitation systems
There are two values now, one to limit an entry in the L&E view
(default 100) and a hard upper limit (at 1 mio).

If displayed values are elided, the true length is shown in addition.

Change-Id: I180b70446c18e258c164e5af75b88d4c8b6c53f2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-16 17:50:18 +02:00
hjk
bae81a7181 Debugger: Switch attach and setting of breakpoints
This avoids a race on Windows, where attaching is non-atomic.

Task-number: QTCREATORBUG-8663
Change-Id: I119cae7129882fabaa97fa3f236379e5efe62df9
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-16 16:35:47 +02:00
hjk
0ea6474262 Debugger: Fix mixed+raw disassembly
(gdb) help diass mentions "/r" and "/m" but doesn't give a hint that
the combination is written as "/rm".

Change-Id: I8baf56bd1e3c36ec43945ba0d572575c9e5e7fd5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-02 17:11:14 +02:00
hjk
84f1fcc773 Debugger: Show raw opcode bytes in disassembler view
Change-Id: I420dd5e9af4a92c84d53dbd52837be8f84440995
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-04-30 15:18:38 +02:00
hjk
8521f54f39 Debugger: Rework GDB disassembly display
- Use exclusively CLI to retrieve information. MI output misses parts.
- Remove MI output handling
- Re-order lines in ascending address order in mixed output.
  GDB orders by source line, but that's confusing when stepping
- Introduce a new 'hunk' field for source lines to give a hint
  which part of a split source line we are looking at.

Change-Id: I61a547503e9a18f95e99b897e26dbb207cabb8cf
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-04-28 14:07:15 +02:00
Christian Kandeler
eccc1198d6 Use double quotes instead of single quotes as per our guidelines.
Change-Id: Ib608bb49e26781aef1914085a5d801fcdcd5eb56
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-04-22 10:06:40 +02:00
hjk
4e176cb15c Debugger: Abort gdb session if no python support is found
The message will be untranslated due to the string freeze,
but better than nothing.

Task-number: QTCREATORBUG-11505

Change-Id: I6f5e65615e4c20f42ce6800b8107f923c2ae2c4f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-02 15:50:17 +02:00
Sergio Ahumada
c375436847 Fix some typos
Change-Id: I3be73c2a4d256a0d28e863fd2517a4d7442b34d8
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-03-05 09:39:42 +01:00
hjk
d190263e9a Debugger: Re-work qt namespace detection with gdb
We can always use python now. Avoids one roundtrip on startup,
a temporary file, and only does it when needed.

Change-Id: Id32a812bec477307da1d93950f7758f3a5699464
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-28 12:16:30 +01:00
Friedemann Kleint
e64fefdbc4 Add a stack window menu entry to display QML stack frame.
Add language field to stack frame.
Add virtual for loading QML stack invoked by stack window
context menu, implement for CDB, GDB.

Task-number: QTCREATORBUG-11144

Change-Id: Ic39be3978b40d96ed18cb69a8355296ec572ece7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-25 16:48:06 +01:00
hjk
c68ebeed2e QtcProcess: Introduce a QtcProcess::Arguments class
This is used to get a platform-agnostic handle on "command line
arguments". It essentially wraps a single QString on Windows,
and a QStringList everywhere else.

As a consequence, several occurrences of #ifdef Q_OS_*
can be removed from the codebase.

Change-Id: Ic93118c1bd0bce0ebb58f416d395dbaebb861772
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-02-19 09:19:28 +01:00
hjk
a8e8c5fe1d Debugger: Move Python setup closer to debugger startup
It's unconditional nowadays, so we don't gain anything but code path
complexity from defering it.

Change-Id: Icc7d65835d1b2b76ecb64601822e0d70fd8f9f6e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-28 14:14:00 +01:00
hjk
a0740f7e09 Debugger: Adjust "supported version" message to reality
Change-Id: I2288592d917089f9c952c96f77150db0b88b1fce
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-28 13:26:32 +01:00
hjk
2b9a00f172 Debugger: Streamline encoding handling
Replace base64 with hex encoding, centralize
conversions, drop dependency on binascii module.

Task-number: QTCREATORBUG-11317

Change-Id: Id3d419d4fe8f75710352f4bc0e6310be849426bd
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-23 16:50:08 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
hjk
2a18859f2e Debugger: Remove unused code
More fallout from the non-Python removal.

Change-Id: I15534dd92dfa9823e0a7d609c13f8a71caa9b093
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-07 17:07:39 +01:00
hjk
bc0d196201 Debugger: Fix 'debugLastCommand'
Wasn't properly merged in the non-Python removal

Change-Id: I5218e37d2e4d615c7bdd60fa63e5d3f6bbc95229
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-07 16:18:34 +01:00
hjk
bad8a451a6 Debugger: Remove support for non-Python GDB
This affects mainly Apple's version of GDB. Mac users are advised to
use LLDB, or some recent build of FSF GDB.

Change-Id: I6a7fbb591e79f737e12d08b0e881e9e4d1d9660c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-06 15:41:16 +01:00
hjk
32aeb579bb Debugger: Simplify "debug last command"
Let the engine decide what to do. Less magic parsing, less code,
and survives cleaning the log view.

Change-Id: Ic94f27899d7986fb5ce3d24bb2edce8e6faf899c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-06 12:42:47 +01:00
Orgad Shaneh
6dd3be2fee GDB: Support tempPath with whitespace
Change-Id: I6e3848e11b2550a508c3480e1a75494760376cad
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-20 12:47:36 +01:00
Orgad Shaneh
4a88290591 GDB: Fix inserting a breakpoint while application is running
Task-number: QTCREATORBUG-11084
Change-Id: Ic506894aaf8a48df4f2e0e93638432af39c887d6
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-16 13:31:09 +01:00
David Schulz
25389fcc25 Debugger: Ignore "running" output when stop is requested.
When a shut down is requested we also try to stop.

Task-number: QTCREATORBUG-10935
Change-Id: I9e063a0fdbb94f7b9c915536612394c10bd53bc9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-12 10:06:58 +01:00
hjk
5036d822de Debugger: Fix assignment to 'unsigned int' values
Change-Id: I80bc3f21eec194580adf0e82bd0429e5ae27ad51
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-21 19:18:46 +01:00
hjk
0ed2f4e5a2 Debugger: Mark views as inactive while retrieving large backtraces
Task-number: QTCREATORBUG-10403

Change-Id: Iebd34dc20d98cc6b79b3a492a2556d1bc62066fe
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2013-11-21 12:42:17 +01:00
hjk
7f6c793f75 Debugger: Fix passing of maximum string length
Change-Id: I96498b93bb1632de8ca960ae24ec54e31f8c0897
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-17 18:28:51 +01:00
hjk
949fb733ee Debugger: Split memory reads if big reads fail
Task-number: QTCREATORBUG-10396
Change-Id: I2083e493329fa287446f3c48b4ef8d08fadd9827
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 09:18:25 +01:00
David Schulz
94c10ae6cc Debugger: Interrupt inferior via signal operation on Windows.
Task-number: QTCREATORBUG-10558

Change-Id: I5a27beca4601cae3b0de8f903a2cbc08ee801149
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-05 17:07:30 +01:00
Orgad Shaneh
16cf79d4b3 Revert "Debugger: Pass data-directory to gdb on Windows"
Patching GDB instead

This reverts commit fe4b6feeb3

Change-Id: I02f17eece95f9b36ed6ae56c09dbf3bc6d161c78
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-11-01 10:47:33 +01:00
hjk
fe0bddbd63 Debugger: Rework dumper detection
Recent versions of GDB seem to require 'make install' to find their
Python bits. Given that this is not really an option, check the
usual suspects, too.

Change-Id: I5217c0184681d4a86992fe0b8989498843b26cea
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 10:08:38 +01:00
hjk
53e5636461 Debugger: Remove dead code from GdbEngine
Change-Id: Ibd5a5e5a80bb31b798b26b340fae460fdded7892
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 18:12:38 +01:00