mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
Ide/Debuggers/Gdb_MI2 : fixed assembly level debugging
git-svn-id: svn://ultimatepp.org/upp/trunk@4878 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
e043bfae09
commit
229ac4977a
1 changed files with 9 additions and 3 deletions
|
|
@ -620,6 +620,10 @@ void Gdb_MI2::SyncDisas(MIValue &fInfo, bool fr)
|
|||
}
|
||||
}
|
||||
|
||||
// setup disassembler cursor
|
||||
disas.SetCursor(adr);
|
||||
disas.SetIp(adr, fr ? DbgImg::FrameLinePtr() : DbgImg::IpLinePtr());
|
||||
|
||||
// update registers
|
||||
MIValue rNames = MICmd("data-list-register-names")["register-names"];
|
||||
Index<String>iNames;
|
||||
|
|
@ -775,14 +779,16 @@ void Gdb_MI2::Step(const char *cmd)
|
|||
ReadGdb(false);
|
||||
}
|
||||
Unlock();
|
||||
if(b)
|
||||
disas.SetFocus();
|
||||
|
||||
firstRun = false;
|
||||
if(stopped)
|
||||
CheckStopReason();
|
||||
started = stopped = false;
|
||||
IdeActivateBottom();
|
||||
|
||||
// reset focus to disassembly pane if was there before
|
||||
if(b)
|
||||
disas.SetFocus();
|
||||
}
|
||||
|
||||
// setup ide cursor based on disassembler one
|
||||
|
|
@ -800,7 +806,7 @@ void Gdb_MI2::DisasCursor()
|
|||
MIValue b = MICmd(Format("break-insert *0x%X", (int64)disas.GetCursor()))["bkpt"];
|
||||
if(b.Find("file") >= 0 && b.Find("line") >= 0)
|
||||
IdeSetDebugPos(b["file"], atoi(b["line"].Get()) - 1, DbgImg::DisasPtr(), 1);
|
||||
if(b.Find("number"))
|
||||
if(b.Find("number") >= 0)
|
||||
MICmd(Format("break-delete %s", b["number"].Get()));
|
||||
disas.SetFocus();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue