From d10fafae71a41afb3a44893648650e9dde932d53 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 1 Oct 2017 10:20:25 +0300 Subject: [PATCH] GDB: Fix reading executable from core dump on Windows Multiarch GDB on Windows crashes if osabi is cygwin (the default) when opening a core dump. Change-Id: Ic04d508d99a3e947e05dcf3adc8bb2b265edc16b Reviewed-by: hjk --- src/plugins/debugger/gdb/gdbengine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index d589d987dd1..3ae97704ab3 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -4891,7 +4891,11 @@ CoreInfo CoreInfo::readExecutableNameFromCore(const StandardRunnable &debugger, cinfo.rawStringFromCore = QString::fromLocal8Bit(reader.readCoreName(&cinfo.isCore)); cinfo.foundExecutableName = findExecutableFromName(cinfo.rawStringFromCore, coreFile); #else - QStringList args = {"-nx", "-batch", "-c", coreFile}; + QStringList args = {"-nx", "-batch"}; + // Multiarch GDB on Windows crashes if osabi is cygwin (the default) when opening a core dump. + if (HostOsInfo::isWindowsHost()) + args += {"-ex", "set osabi GNU/Linux"}; + args += {"-ex", "core " + coreFile}; SynchronousProcess proc; QStringList envLang = QProcess::systemEnvironment();