Setting breakpoints by file name and line does not work robustly when
using gdb, with neither the full path, nor with just the baseline. Since
typically one of the options work, Creator offers a per-breakpoint choice
of which approach to use. Traditionally, using the full path broke more
often, so the default was "short". Lately (gdb 7.3+) using the full path
seems to be more robust, so the default should be changed. Manual
overriding to "short" is still possible.
Change-Id: I9e857c86a63964bdacf9bebc5444ea752e5974f8
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
- Split off GDB and LLDB specific parts into separate files,
- Trigger loading of dumpers.py and qttypes.py from bridge.py
- Read start up script at startup, not as part of dumper loading
Change-Id: I7941ee535121fa0f43a466e5bb75a18c9bb19764
Reviewed-by: hjk <hjk121@nokiamail.com>
This enables the use "official gdb"-styly pretty printers from
within Creator. In case there are both variants, Creator-style
pretty printers are preferred.
Change-Id: Iaa178d922dae4eaa1943e9d5b960a666f80fe4db
Reviewed-by: hjk <hjk121@nokiamail.com>
This only worked for distributions with a RedHat/Fedora upstream
so far and requires more dynamicity in the TaskWindow as the
TaskHandler dies with the engine, leading to crashs.
Change-Id: I20d0b3c79e4fd0026cd2a0c9ff5b0a4be22c3121
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
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>