From d00dc3c2e7203668fcb26a80e94ccea2ab388f43 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Wed, 27 Oct 2010 15:39:42 +0200 Subject: [PATCH] Debugger[gdb/Mac]: Show location marker in Mac OS disassembly. Account for "0x0000000100002682sub $0x68,%rsp", convert hex address correctly to match the location. Reviewed-by: hjk --- src/plugins/debugger/debuggeragents.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggeragents.cpp b/src/plugins/debugger/debuggeragents.cpp index c4b592856a0..bcbee88421b 100644 --- a/src/plugins/debugger/debuggeragents.cpp +++ b/src/plugins/debugger/debuggeragents.cpp @@ -409,7 +409,9 @@ quint64 DisassemblerViewAgent::address() const // Return address of an assembly line "0x0dfd bla" quint64 DisassemblerViewAgent::addressFromDisassemblyLine(const QString &line) { - const int pos = line.indexOf(QLatin1Char(' ')); + // Mac gdb has an overflow reporting 64bit addresses causing the instruction + // to follow the last digit "0x000000013fff4810mov 1,1". Truncate here. + const int pos = qMin(line.indexOf(QLatin1Char(' ')), 19); if (pos < 0) return 0; QString addressS = line.left(pos); -- GitLab