diff options
author | Eike Ziller <eike.ziller@qt.io> | 2017-04-19 09:56:14 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2017-04-19 09:56:14 +0200 |
commit | 88897f3a870de7b756356907801f09a90902e490 (patch) | |
tree | a947c7fdb92d9050e9ade763dcb87db192b4585e /src/plugins/debugger/gdb/gdbengine.cpp | |
parent | 8b6eb5aabb48fb83c3cd92be9a77401ca26a810b (diff) | |
parent | 01b2ed7904132f845819e78c84477ac9a66bd1e3 (diff) |
Merge remote-tracking branch 'origin/4.3'
Conflicts:
src/plugins/genericprojectmanager/genericproject.cpp
src/plugins/genericprojectmanager/genericproject.h
src/plugins/genericprojectmanager/genericprojectnodes.cpp
src/plugins/genericprojectmanager/genericprojectnodes.h
Change-Id: Ie0c870f68c8d200a75489b75860987655b2f6175
Diffstat (limited to 'src/plugins/debugger/gdb/gdbengine.cpp')
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 6b0740baca..db71ce6ecc 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -147,6 +147,11 @@ static bool isMostlyHarmlessMessage(const QStringRef &msg) "Invalid argument\\n"; } +static QString mainFunction(const DebuggerRunParameters &rp) +{ + return QLatin1String(rp.toolChainAbi.os() == Abi::WindowsOS && !rp.useTerminal ? "qMain" : "main"); +} + /////////////////////////////////////////////////////////////////////// // // Debuginfo Taskhandler @@ -1182,7 +1187,7 @@ void GdbEngine::executeDebuggerCommand(const QString &command, DebuggerLanguages if (!(languages & CppLanguage)) return; QTC_CHECK(acceptsDebuggerCommands()); - runCommand({command}); + runCommand({command, NativeCommand}); } // This is triggered when switching snapshots. @@ -2372,10 +2377,8 @@ QString GdbEngine::breakpointLocation(const BreakpointParameters &data) return QLatin1String("__cxa_throw"); if (data.type == BreakpointAtCatch) return QLatin1String("__cxa_begin_catch"); - if (data.type == BreakpointAtMain) { - const Abi abi = runParameters().toolChainAbi; - return QLatin1String(abi.os() == Abi::WindowsOS ? "qMain" : "main"); - } + if (data.type == BreakpointAtMain) + return mainFunction(runParameters()); if (data.type == BreakpointByFunction) return '"' + data.functionName + '"'; if (data.type == BreakpointByAddress) @@ -4153,11 +4156,8 @@ void GdbEngine::handleInferiorPrepared() } //runCommand("set follow-exec-mode new"); - if (rp.breakOnMain) { - QString cmd = "tbreak "; - cmd += QLatin1String(rp.toolChainAbi.os() == Abi::WindowsOS ? "qMain" : "main"); - runCommand({cmd}); - } + if (rp.breakOnMain) + runCommand({"tbreak " + mainFunction(rp)}); // Initial attempt to set breakpoints. if (rp.startMode != AttachCore) { |