aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggeritem.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2021-08-03 12:22:25 +0200
committerhjk <hjk@qt.io>2021-08-06 11:12:12 +0000
commit4652ef286b2784cdace51755604770ac2dd64c64 (patch)
tree83b9189838dfbb6d4e8594c19b2a85535884edf2 /src/plugins/debugger/debuggeritem.cpp
parent2f6c5db8562a9d3c1311bff2a8155b6b870020c8 (diff)
Debugger: Show output of debugger detection
... in tooltip of debugger path lineedit. Helps with cases where necessary libraries are missing. The tooltip is a bit hard to recognize, but as such cases now also are marked in red text there's at least some direct hint that something is not ok. Change-Id: Ic5da8dcb1921a98f91f6eed755fa87ce5feed698 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/debugger/debuggeritem.cpp')
-rw-r--r--src/plugins/debugger/debuggeritem.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/debugger/debuggeritem.cpp b/src/plugins/debugger/debuggeritem.cpp
index 5b83add671..40c74a940d 100644
--- a/src/plugins/debugger/debuggeritem.cpp
+++ b/src/plugins/debugger/debuggeritem.cpp
@@ -151,7 +151,7 @@ static bool isUVisionExecutable(const QFileInfo &fileInfo)
return baseName == "UV4";
}
-void DebuggerItem::reinitializeFromFile(const Environment &sysEnv)
+void DebuggerItem::reinitializeFromFile(const Environment &sysEnv, QString *error)
{
// CDB only understands the single-dash -version, whereas GDB and LLDB are
// happy with both -version and --version. So use the "working" -version
@@ -190,12 +190,14 @@ void DebuggerItem::reinitializeFromFile(const Environment &sysEnv)
proc.setEnvironment(sysEnv);
proc.setCommand({m_command, {version}});
proc.runBlocking();
+ const QString output = proc.allOutput().trimmed();
if (proc.result() != QtcProcess::FinishedWithSuccess) {
+ if (error)
+ *error = output;
m_engineType = NoEngineType;
return;
}
m_abis.clear();
- const QString output = proc.allOutput().trimmed();
if (output.contains("gdb")) {
m_engineType = GdbEngineType;
@@ -263,6 +265,8 @@ void DebuggerItem::reinitializeFromFile(const Environment &sysEnv)
m_engineType = PdbEngineType;
return;
}
+ if (error)
+ *error = output;
m_engineType = NoEngineType;
}