From 837fe09471baee8b52f819e0925419555769277d Mon Sep 17 00:00:00 2001 From: martin Date: Wed, 21 Sep 2011 18:41:42 +0000 Subject: [PATCH] DBG: Disassembler, when having to guess, use an even address. git-svn-id: trunk@32453 - --- debugger/gdbmidebugger.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debugger/gdbmidebugger.pp b/debugger/gdbmidebugger.pp index 635655587e..d615b8c2b4 100644 --- a/debugger/gdbmidebugger.pp +++ b/debugger/gdbmidebugger.pp @@ -2666,9 +2666,12 @@ function TGDBMIDebuggerCommandDisassembe.DoExecute: Boolean; var DisAssList: TGDBMIDisassembleResultList; DisAssItm: PDisassemblerEntry; + s: TDBGPtr; begin Result := False; - DisAssList := ExecDisassmble(AStartAddr.GuessedValue -1, AStartAddr.GuessedValue, False); + // TODO: maybe try "info symbol + s := (AStartAddr.GuessedValue -1) div 4 * 4; // 4 byte boundary + DisAssList := ExecDisassmble(s, s+1, False); if DisAssList.Count > 0 then begin DisAssItm := DisAssList.Item[0]; if (DisAssItm^.FuncName <> '') and (DisAssItm^.Addr <> 0) and (DisAssItm^.Offset >= 0)