As we disable of 'by-address' breakpoints by default after each
debugger run as they are unlikely to be correct on the next run,
starting with disabled breakpoints might happen. Disabling it
immediately is faster and less racy than relying on the 'change
needed' mechanism.
Change-Id: Icc5548d322f7ef4f099d218b4f04b4c40e3cb850
Reviewed-by: David Schulz <david.schulz@digia.com>
This avoids a problem when setting the ignore count on a pending
breakpoint.
Task-number: QTCREATORBUG-8809
Change-Id: I8cdeb9c525de33336a21c739c6dc99f824f6fe7a
Reviewed-by: David Schulz <david.schulz@digia.com>
Modern versions of gdb support this and it avoids a nasty
endless loop when setting a condition on a breakpoint in
a non-existing file.
Change-Id: Id3a03a44c016f85617bb1e74a4843b1b398c490f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This is a recent regression introduced by the delayed python dumper
initialization.
Task-number: QTCREATORBUG-8615
Change-Id: I3b5dbe5b04c68cf873e3a2597edc60fe2888b3c9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This is now in sourceutils.{h,cpp} to make watchutils.{h,cpp}
better acessible to the debugger auto-tests.
Change-Id: Ie87e715bc7018ca190a460c37dfd19bc897059f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This skips the case of "disassembling a function given an address"
with indeterministic time behaviour and and immediately falls back
to the fixed range version instead.
Change-Id: I90ec56198a7d767bcf0a9ffb030637c2ee5c617a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This enables access to object-specific plain gdb pretty printers
which are not available before startup.
Change-Id: Icc8cbec177825d4d1adb1957a618abb33cbbf319
Reviewed-by: hjk <qthjk@ovi.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
e8b5c6dfcca3fc139049136b42459e7840efed7 :
Provide terminal emulator functionality in ConsoleProcess for
Windows as well.
e833b794b3 :
Use Core::Id().
Change-Id: Idad2bd2180e9a5dd2d1266496e340726435835d3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Use the same setting in CDB, move it to common settings page
in a follow-up commit.
Change-Id: I67d6cd706f658c616a431e9d518d52e020afa54c
Reviewed-by: hjk <qthjk@ovi.com>
The RemoteGdbServerAdapter should be invoked (instead of
LocalPlainGdbAdapter) when using startmode StartRemoteProcess.
Change-Id: I0f4c9dc2a275ef4b42ddf5b425b8dee839c83458
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
(cherry picked from commit 0b121abb5e)
The RemoteGdbServerAdapter should be invoked (instead of
LocalPlainGdbAdapter) when using startmode StartRemoteProcess.
Change-Id: I0f4c9dc2a275ef4b42ddf5b425b8dee839c83458
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
Listen to gdb/MI notifications when possible. This is more
granular, gives access to the thread group id and takes
care of thread changes at any time.
Change-Id: I8c67f6f19b204059deefdf7e07fe3b4ce13ed963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The "magic" symbol was QString::fromAscii, which might be fully inlined
in Qt 5. Use QString::fromAscii_helper instead, and also make the detection
a bit more robust in case the magic symbol is not found.
Change-Id: I99e61797356a0d90467d32e54acc2d2a104d609a
Reviewed-by: hjk <qthjk@ovi.com>
Namely:
- path list separator
- executable suffix
- file name case sensitivity
All of these are duplicated in various places in the current Creator
code.
Change-Id: I86eb4662fa3c2071759bd728cae1aaf7111ae686
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
For editor tooltips and the editor context menu
'Watch expression', always try to find a local variable first
and use its expression.
Change the tooltip manager/widgets not to rely on the debugger
model enum and obscure expression, filter by complete iname
instead. Remove obsolete enumeration.
Change gdb's handling of tooltips such that local variables
are displayed immediately without creating additional tooltip
items.
Change-Id: I9b55823428029ba50d84d3a8cab55eb58942e72b
Reviewed-by: hjk <qthjk@ovi.com>
The console trap seems to cause a spurious "* stopped"
message without reasons in gdb 7.4. Ignore once.
Fix warnings about empty file names in cleanupFullName()
for assembly frames.
Ignore "* running" in state InferiorSetupRequested, which
occurs for Windows terminals.
Task-number: QTCREATORBUG-7770
Change-Id: Ief6dff4a946eea1b1489caddf8748fb10a647dad
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
Bring back the slot, suppress a warning about empty binaries
in the release check.
Task-number: QTCREATORBUG-7677
Change-Id: I2f1703b38b68995a1e2533ed8a6c94985cc3b430
Reviewed-by: hjk <qthjk@ovi.com>