port termdebug dissasembly window only (termdebug.vim)
This patch adds disassembly window to Termdebug
:Asm should bring up disassembly window
or setting:
g:termdebug_disasm_window
Values greater than 1 will set disasm window height.
Code works by calling gdb disassemble command, demangling output and
storing in Termdebug-asm-listing buffer + window.
Current pc address is parsed from 'addr=' cursor msg and we search for
that address in the disasm window. When the search fails, we execute a
new "disassemble $pc" command.
When in a location without a proper stack frame, "disassemble $pc" can
fail and in this case we add a +length argument and try again.
Tested with x86_64 gdb v10.1 and v8.2.1, and aarch64 gdb v7.12.