Hi,
I tried to implement this feature myself but I found an issue releated to gdbParser code that blocked me.
The gdbParser code is very strange and very hard to understand.
To enable mixed mode in disassemble, the "-- 0" parameter should be changed to "-- 3" inside the DbgGdb::Disassemble
function. This will change the debugger output to the following:
asm_insns=[
src_and_asm_line={line="18",file="main.cpp",fullname="/home/abc/main.cpp",
line_asm_insn=[
{address="0x00000000004005e1",func-name="main()",offset="8",opcodes="64 48 8b 04 25 28 00 00 00",inst="mov %fs:0x28,%rax"},
{address="0x00000000004005ea",func-name="main()",offset="17",opcodes="48 89 45 f8",inst="mov %rax,-0x8(%rbp)"},
{address="0x00000000004005ee",func-name="main()",offset="21",opcodes="31 c0",inst="xor %eax,%eax"}]},
src_and_asm_line={line="19",file="main.cpp",fullname="/home/abc/main.cpp",
line_asm_insn=[^M
{address="0x00000000004005f0",func-name="main()",offset="23",opcodes="8b 05 de 00 00 00",inst="mov 0xde(%rip),%eax # 0x4006d4"},
{address="0x00000000004005f6",func-name="main()",offset="29",opcodes="89 45 e0",inst="mov %eax,-0x20(%rbp)"}^M
But gdbParser cannot parse this message inside the bool DbgCmdHandlerDisasseble::ProcessOutput(const wxString& line)
function:
GdbChildrenInfo info; // vector of std::map
::gdbParseListChildren(line.mb_str(wxConvUTF8).data(), info);
The gdbParseListChildren returns empty vector for above message. I tried to understand the gdbParser code but I gave up.
![Smile :)](./images/smilies/icon_e_smile.gif)
Do you know how to parse new message by using gdbParser? It can be easy done by writing own parser for this message but
this is not good idea.
Thank you.