aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/gdb/gdbengine.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-04-19 09:56:14 +0200
committerEike Ziller <eike.ziller@qt.io>2017-04-19 09:56:14 +0200
commit88897f3a870de7b756356907801f09a90902e490 (patch)
treea947c7fdb92d9050e9ade763dcb87db192b4585e /src/plugins/debugger/gdb/gdbengine.cpp
parent8b6eb5aabb48fb83c3cd92be9a77401ca26a810b (diff)
parent01b2ed7904132f845819e78c84477ac9a66bd1e3 (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.cpp20
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) {