Unify the watchPoint() interfaces, move the combined
implementation to the DebuggerEngine base.
Change-Id: Ic93aa760e7258197aed5eb7bfea257a40012cccf
Reviewed-by: hjk <hjk@qt.io>
Also, remove the need to mark GDB Python commands, detect the
need to use MI on the presence of non-Pythonic letters in
the command (space and hyphen).
Plan is to reuse even more almost shared code between engines.
Change-Id: I4e00debb07f2482637930675a28f464666b59553
Reviewed-by: hjk <hjk@qt.io>
Needs to make namespace detection work without valid frame
Task-number: QTCREATORBUG-17326
Change-Id: Ia7c7017db4ef384d4f246e11a5601d01f4f366f1
Reviewed-by: hjk <hjk@qt.io>
People are known to put things like passwords into environment
variables, and we pass the environment hexencoded to the debugged
process, so it might be overlooked when logs passed around.
Better not have the data in the log to start with.
Change-Id: If93a42a291b8b62c38d01e606cc0e49b8f2e3e95
Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If the list of partial expressions is empty we need to tell the watch
handler that we are only updating the locals view, not e.g. the
inspector view.
Change-Id: Iedc74ffc66a8435faa272d053849b831f6b8cbbe
Task-number: QTCREATORBUG-16692
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
It's not the one of the lldb process anymore, so set it explicitly.
Change-Id: Ibcc2b63631c4096f860996ad6ccfc12415d8aefd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
lldb stops the process after attaching and the event loop is not yet started.
This makes the debugger wait for events while process is in stopped state
Task-number: QTCREATORBUG-15705
Change-Id: Iae6fe94fc483d963b377582c4cbbb443be5e6cba
Reviewed-by: hjk <hjk@qt.io>
This overload of error is deprecated in 5.6.
Replace with errorOccurred, which was introduced in 5.6.
Change-Id: Iccfba7e7103b7ce377471696f1f2ec217e52c840
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
One step further to separate the debugger environment from the
inferior environment and to make it possible to configure a
working directory. Guessing one from the inferior's working
directory is not always a good idea.
Change-Id: I33d139c0f228ec0870556b82bc6aecca0a8e62d6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There is no + operator that takes a QByteArray and a QString (or vice
versa).
Change-Id: I8734923cbbb0360bc20f9775d57801803782716f
Reviewed-by: hjk <hjk@theqtcompany.com>
With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.
Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Not all untimely requests to run a command are harmful,
e.g. reloadModules() can be triggered by visibility
changes of the modules view at any time.
Change-Id: Ie803135ff7b954eef5800b3becdc6104a61b8cb2
Task-number: QTCREATORBUG-16393
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This forcefully ignores the Run in Terminal setting, i.e. debugger
starts up properly, but without the console. It a stop-gap measure
deemed less harmful than the 4.0 'start up gets stuck' behavior.
Change-Id: I015147c4db23bf91ea09001ce923fbab97eeae77
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... to a place where it can potentially be re-started.
Change-Id: Icc7ba4512533cdef659507442eec069e073f84b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Commands needs to be given in Python, i.e. something like
import time
print time.asctime()
for i in range(1, 10):
print(i)
works.
Task-number: QTCREATORBUG-15585
Change-Id: I7724617e4bbe85a717ae78b21014e2b55c4089c8
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
E.g. for QImage etc.
Change-Id: I78201f55448a151d40d0d7fb10440a6cb87efd03
Task-number: QTCREATORBUG-10402
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
They may contain quotes and possibly other data breaking the transport
protocol.
Change-Id: I53795bd1de54385e8d9c50088368fdc768db217b
Task-number: QTCREATORBUG-15635
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Backends only have to specify whether an object members are sortable
in principle (e.g. all structs), and some numeric 'sortgroup' value
for member items (higher values are always sorted on top).
Change-Id: I10ce94580374fed48a35f058a575a1408d6801af
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
A breakpoint with known locations is not pending.
Change-Id: I4da7b60b6771bbea40ce74d44518c26e6214ba6c
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This is a mechanical replacement for the former executable, processArgs,
inferiorEnvironment and workingDirectory members.
Change-Id: I4160e01427ed801df9b729f1f31d0a2ca48159b5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Debugger and stub run locally, the debugged process not necessarily.
Change-Id: Ibf6aec3dcaec60069866ec0765ec2178ca0a26d6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... and switch it off by default. The feature has indeterministic
performance impact and lost quite a bit of its utility since GDB
learned to extract dynamic object types most of the times.
Change-Id: I22cccb03ba67f9ff6ad757bbc06eb372d84bbffe
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Apple's LLDB has changed behavior between 330.x and 340.x.
Newer versions seem to actively delete the DYLD_IMAGE_SUFFIX,
DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH environment variables
from the scripting environment.
Change-Id: I0b7bbdce0975e969b1dae5770fd9a99328f241be
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
CamelCase might be more Qt-ish, but the backends tend to use
lowercase only.
Change-Id: I04b9b7305b54226f27b70151115050c4816f911f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>