From 300e71de9c3a99c613f295a74efba4bcce906064 Mon Sep 17 00:00:00 2001 From: Michael Sartain Date: Wed, 10 Mar 2021 06:20:22 -0700 Subject: runtime/termdebug 82be4849eed0b8fbee45bc8da99b685ec89af59a (#13660) 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. --- runtime/doc/nvim_terminal_emulator.txt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'runtime/doc') diff --git a/runtime/doc/nvim_terminal_emulator.txt b/runtime/doc/nvim_terminal_emulator.txt index bec2b362ea..5885b20ab7 100644 --- a/runtime/doc/nvim_terminal_emulator.txt +++ b/runtime/doc/nvim_terminal_emulator.txt @@ -312,6 +312,8 @@ Other commands ~ *:Program* jump to the window with the running program *:Source* jump to the window with the source code, create it if there isn't one + *:Asm* jump to the window with the disassembly, create it if there + isn't one Prompt mode ~ @@ -330,6 +332,12 @@ This works slightly differently: Prompt mode can be used even when the |+terminal| feature is present with: > let g:termdebug_use_prompt = 1 +< + *termdebug_disasm_window* +If you want the Asm window shown by default, set this to 1. Setting to +any value greater than 1 will set the Asm window height to that value: > + let g:termdebug_disasm_window = 15 +< Communication ~ *termdebug-communication* -- cgit