GdbEngine::m_startMode should be always the same as in the RunParameters.
Change-Id: Iceac9b28b8273847f7ee518572d93e796fffeb14
Reviewed-by: David Schulz <david.schulz@qt.io>
Each engine has now the RunTool pointer, not just the master.
Change-Id: I6bab026998d5da5da82224bfaf4a93d3cfb3a898
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The only use left was a not-so-important debug message.
Change-Id: I91bd1b744fb2f173037777461dd15e7720421ccc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Multiarch GDB on Windows crashes if osabi is cygwin (the default) when
opening a core dump.
Change-Id: Ic04d508d99a3e947e05dcf3adc8bb2b265edc16b
Reviewed-by: hjk <hjk@qt.io>
After splitting out terminal and core handling they are
essentially the same.
Change-Id: I603cea74186eada5728295b430c9385812dcc4cd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Either dead code, or "Adapter" related abstractions that are not
used anymore.
Change-Id: I1f2418db13d4891d36c10b488c522582eff8afc5
Reviewed-by: hjk <hjk@qt.io>
Allow to rely on kit plus data directly specified in the dialogs.
This means, RunControls with nullptr RunConfigurations are allowed
again.
Change-Id: I0b574b397603c0520c8187a8967bff2cf5e20ae8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... and apply even more force on the second trying by forcing
ramp down of the runControl itself instead of hoping that it
would pick up hints.
Change-Id: I9d0f4130cb9a137b91c9fa81c3d255f236f98be0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The users (typically target specific DebuggerRunTool derived classes)
are meant to use the individual setter functions nowadays, not the set
up the full structure, so the members are a true implementation
detail now.
Change-Id: Ida04801e3230a2fe8bbadde8845e58c3077c87a5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Most were never re-implemented, so just for debugging purposes
in the mixed engine.
Change-Id: If569e0e553e3fdd5ef83b3bdfdbd22fd0ad5b90f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The main reason for having the adapters (complex target specific state
handling) is mostly gone now, leaving us mainly with the drawbacks
of the solution: An additional indirection, and using a hierarchy
for code sharing. So drop that, and use if/else chains instead
of virtual functions now, and start simplifying the result.
Change-Id: Idcf3a28da103c01cfa80cf9bab8ef51fe879b6d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Also, add context to connect() expressions where we are or were
capturing "this".
Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
It's only actively alive between the attempt to stop, and being
stopped. Having it stored in 'global' member variable was a
workaround in pre-lambda times.
Change-Id: I169745afd7985ed9038edff763026c32f82f6126
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That's not a full solution, but fixes the reported crash.
The core of the problem is that BareMetal devices do not provide
signalOperation() (which is ok) and this code path should not have
been taken to start with.
Change-Id: Ib903b8d7f0728c5b3cb217b567247e66b751c5c3
Task-number: QTCREATORBUG-18694
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
If attaching to the current's project running executable fails due
crashing inferior the run tool is cleaned up already when trying to
fetch its run parameters.
Circumvent by checking whether run tool is still accessible.
Change-Id: I56f3d841d77d0513806a2b91357841f160f74ed3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
A RunControl is re-runnable if all its workers are,
a RunWorker is re-runnable if it's Stopped and unless it
says otherwise.
Also ensure SimpleTargetRunner only reportStop() once
per run and make process error message re-usable.
Change-Id: I73f5fb724d3026ceb81d5e32a3a71b4814b2bca9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
GdbEngine::handleResponse() incorrectly handles messages starts
with '@'. Seems that text position pointer by `from` and `to`
vars already correctly configured and additional cutting with
QString::mid() is not required.
Seems issue was introduced by 726b907cc3.
Change-Id: I2759d1c1650a1949c9c9feb75cf12e2760920d21
Task-number: QTCREATORBUG-18494
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Extend operations to handle prepend/append which can be optionally
determined by diff(). This allows cleanly implementing
the MSVC toolchain setup.
Amends c7a84634fd
Change-Id: Ida08d8f5e00cf5f78c20ea8d08c531b1ed22c015
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
If the toolchain is misconfigured, it's still possible to save GDB from
crashing by reading the binary format from the executable.
Change-Id: I8f8db163e1dd6aef31fed23b1306e714e563646a
Reviewed-by: hjk <hjk@qt.io>
The device is always available via runTool().
Change-Id: I4a2a791a5a75b32803c06fc34947b82b869fe31c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There were only two used target states, and in case of mixed
debugging all parts of the machinery better agree on the
direction. So one bool in the (shared) runTool is sufficient.
Change-Id: Iffbf1651b82dde707cfc37d8da9d3da573b34b76
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The parameters belong to the run control, they should not
be triplicated in case of a combined engine.
Change-Id: I4dd84220edbd7a44b902cc52627fe01d0568db75
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It is redundant, as a RunControl has a runMode() getter.
Change-Id: Ia048b271a5003356d21f86a3f778827d23466037
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Only one code path needed once we have a RunConfiguration.
Change-Id: Ib65f471a929a0c70694dd142b4f83be7eebbe151
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It relies on the user setting (which has a correct default, but can be
changed), but that's better than nothing.
Change-Id: Ib74b348a8932b3522074f122cf939fcb20ccefb8
Reviewed-by: hjk <hjk@qt.io>
The notification exists since GDB 7.4, i.e. no further restriction beyond
our current 7.4.1 minimum requirement, so there's no need to read pids
from tea leaves.
Change-Id: Ibfe14a46059fc1c917ada6ac445b364c958d0b3f
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Looks like the field was spelt 'times', not 'hitcount'.
Change-Id: I7226747ba7d41e9600cb66e95e7c59c6a226151b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Not used in earnest since the end of CODA/Symbian.
Change-Id: Ib2d22fb247d178b091a17f9927aa911d6707d3f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This was GDB-only. It complicates the startup mechanism including breaking
certain setups (e.g. users manually controlling "set auto-solib-add" in
their .gdbinit) without providing too much benefit (anymore).
Part of the potential debugger startup time improvements that were
possibly gained by the feature are nowadays available by using a
release build *without* debug info, as one of the original reasons
to not use that (making Qt type introspection hard/impossible)
is largely gone with 4.2+.
Change-Id: Iffb34e0035f39ad74b24bf025749b546f25a489b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This conceptually reverts part of a61b6dfc.
Task-number: QTCREATORBUG-17594
Change-Id: I9ff72a027838a20039f217ed0d669b6c45bc2acf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>