Vim gdb

Clewn features

  • Breakpoints are highlighted in source code and in the assembly buffers. The highlighting includes the last two digits of the breakpoint number so that they can be easily identified. Disabled breakpoints are noted with a different highlighting color. When setting a breakpoint, clewn automatically finds the source file for the breakpoint if it exists, and tells vim to load and display the file and highlight the line.

  • An expression value or a variable value as provided by gdb, is displayed in a balloon in Vim, when the mouse pointer is hovering over the selected expression or the variable.

  • Assembly buffers hold the assembly code for functions that miss the source code and are being stepped through, or where breakpoints have been set. This feature can be enabled by an option of the clewn command line.

  • When there is no debugging information or source files and the assembly option has been enabled, clewn disassembles the function containing the breakpoint and vim displays and highlights its line.

  • Each time gdb displays a stack frame when the debuggee stops or when moving along the stack frame, clewn automatically finds the source file for that frame and tells vim to display the file and highlight the line. When there is no source code for the frame or when doing instruction stepping (stepi, nexti) the program counter line within an assembly window is highlighted if the assembly option has been enabled.

  • Any gdb command can be mapped to a vim key mapping. This allows, for example, to set or clear a breakpoint, or print a variable's value at the current cursor or mouse position in a vim window by just hitting a key.

  • You can send an interrupt from vim to gdb and the program it is running.

  • A variable can be dropped and watched in a vim window by pointing the mouse on the variable in the source code and hitting a key. The variable's value is updated and highlighted whenever changed. To remove a variable, just delete it from the vim window with a vim command or a keystroke.

  • Support of gdb command and file name completion. This also works while entering, in gdb, a gdb user-defined sequence of commands or a list of commands for a breakpoint.