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>
Use SynchronousProcess::runBlocking in favor of SychronousProcess::run.
This avoid nested event loops which can produce really strange crashes
if not use carefully.
This patch only converts those processes that have a timeout of less
than 5 seconds or use the default timeout.
Change-Id: I9de8899dcc946af7049ea357a91972996c0256a1
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
waitForFinish returns false if the process is no longer running at
the time of the call. Handle that throughout the codebase.
Change-Id: Ia7194095454e82efbd4eb88f2d55926bdd09e094
Reviewed-by: hjk <hjk@theqtcompany.com>
Store last modified time in persistent storage, and if it is changed,
reinitialize the item.
Change-Id: I15e8c843fecd3cebd528f2dadb64645828a2b221
Reviewed-by: hjk <hjk@theqtcompany.com>
That's LLDB's "compatibility" mode faking a GDB 7.4 interface.
This is not directly needed given Qt Creator's native LLDB support
but might be a useful fallback in some setups.
Change-Id: Ia2c1c731de46b8c668bb0c822f1438fe203aa9c5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
New %{Debugger:Name} for global use, %{Debugger:{Type,Version,...}}
for expansion within the name. Also re-initialize from file if the
saved version is empty (e.g. if the debugger was registered before
the version field was present)
Change-Id: I45568d78147597b30074a2ce4ddcf569bce15192
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
Change-Id: I91979c685bbbd84359f7f4e19911a21a408f5d23
Reviewed-by: hjk <hjk@theqtcompany.com>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I1aa1a2b6ccbafeb1a8f3053fffa39b3f96992591
Reviewed-by: hjk <hjk@theqtcompany.com>
This is purely informational, so no need to try overly hard.
Change-Id: I76f25d5c9d9b4e65c10bf66ad1d48e08ab65293c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Export factory, de-export plugin, to remove one indirection
Change-Id: I13a46460d07d5ded6b26f2b5ceccd01142fb10e8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
sizeof(needle) includes the \0 terminator, so the first letter of the
target triplet was being skipped too. This caused the architecture to
be mis-detected and (for us on MSYS2) the 32bit GDB to be selected in
64bit Kits.
Change-Id: Id54bc320baf6cc604f2d41fa7ff05aca0756a296
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
This is internal data, uninteresting for the user. Other settings use normal
separators as well.
Change-Id: I8607810c6fa7e6a464ee95fa57178276b730ddba
Reviewed-by: hjk <hjk121@nokiamail.com>
This allows plugins (e.g Andoird, BlackBerry...) to control
the debuggers that are auto generated from their SDK/Target sources.
Change-Id: If5741bae0b81cff29ac6d103af6bc9a3e4399c7d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
We want to restore even partially valid ABIs (e.g. those where
we are not 100% sure about the supported word width).
This change fixes Mingw compilers that went missing from their kits
after creator was reopened: The ABI did not get restored due to the
word width not being set and the default host ABI was set instead.
This then made the debugger no longer a match (msvc20x does not match
msys!) and thus getting removed from its kit.
Task-number: QTCREATORBUG-10463
Change-Id: Ie89c7aed2f092f3032860915c74655ff70dae77d
Reviewed-by: hjk <hjk121@nokiamail.com>
Do not end up appending to the existing list of ABIs when reinitializing
GDB debuggers.
Task-number: QTCREATORBUG-10642
Change-Id: Ic023f1fa269dbc05c0a44c3acf2cc8dd22f0565c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
User code can decide whether it wants something added unconditionally
(by creating a DebuggerItem with valid id), or let the manager re-use
something matching or create an id.
Task-number: QTCREATORBUG-10641
Change-Id: I4f5a1fbe881932ba5608f5c6116b4ea8352f8903
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>