GDB: Adapt to message change on 13.1

Sample message:
>&"Error while mapping shared library sections:\n"
>&"`C:\\WINDOWS\\System32\\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.\n"
>=library-loaded,id="C:\\WINDOWS\\System32\\wow64cpu.dll",target-name="C:\\WINDOWS\\System32\\wow64cpu.dll",host-name="C:\\WINDOWS\\System32\\wow64cpu.dll",symbols-loaded="0",thread-group="i1",ranges=[{}]
 Library C:\WINDOWS\System32\wow64cpu.dll loaded.

Change-Id: Icb4243b129faac581f37d3fdd1211448656abefe
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Orgad Shaneh
2023-02-28 12:17:52 +02:00
committed by Orgad Shaneh
parent fb8182ca7c
commit f9d0c1a067
2 changed files with 8 additions and 1 deletions

View File

@@ -114,6 +114,7 @@ struct TracepointCaptureData
};
const char tracepointCapturePropertyName[] = "GDB.TracepointCapture";
const char notCompatibleMessage[] = "is not compatible with target architecture";
///////////////////////////////////////////////////////////////////////
//
@@ -346,7 +347,12 @@ void GdbEngine::handleResponse(const QString &buff)
// version and/or OS version used.
if (data.startsWith("warning:")) {
showMessage(data.mid(9), AppStuff); // Cut "warning: "
if (data.contains("is not compatible with target architecture"))
if (data.contains(notCompatibleMessage))
m_ignoreNextTrap = true;
} else if (data.startsWith("Error while mapping")) {
m_detectTargetIncompat = true;
} else if (m_detectTargetIncompat && data.contains(notCompatibleMessage)) {
m_detectTargetIncompat = false;
m_ignoreNextTrap = true;
}

View File

@@ -130,6 +130,7 @@ private: ////////// General Interface //////////
bool m_rerunPending = false;
bool m_ignoreNextTrap = false;
bool m_detectTargetIncompat = false;
////////// Gdb Output, State & Capability Handling //////////