En lugar de gdbtui
o ctrl+x
debajo del gdb
cual se muestra el código fuente en la parte superior de la pantalla, me gustaría ver esto en mi editor de Vim que saltaría entre pestañas y se guardaría en búfer en consecuencia.
¿Cómo puedo hacer esto?
En lugar de gdbtui
o ctrl+x
debajo del gdb
cual se muestra el código fuente en la parte superior de la pantalla, me gustaría ver esto en mi editor de Vim que saltaría entre pestañas y se guardaría en búfer en consecuencia.
¿Cómo puedo hacer esto?
Respuestas:
Entre todos los complementos que he probado, encontré que ConqueGDB es el mejor enfoque. ConqueGDB usa Conque Shell para incrustar un shell interactivo dentro de vim, que GDB usa.
El flujo de trabajo con ConqueGDB consiste en no ingresar comandos GDB en el terminal GDB, usted usa accesos directos en el código fuente vim. Pero puede continuar utilizando el indicador GDB si lo desea, para comandos más avanzados, o desplazarse para ver toda la sesión de depuración.
Algunas asignaciones predeterminadas de ConqueGDB, por ejemplo:
Observe cómo se ha utilizado la línea del cursor vim para emitir una 'fila de impresión' GDB, la ejecución actual del código está en otra línea (14) y hay un punto de interrupción en la línea 10.
Para instalar con Vundle, por ejemplo:
Plugin 'vim-scripts/Conque-GDB'
Yo uso estas opciones de complementos:
let g:ConqueTerm_Color = 2 " 1: strip color after 200 lines, 2: always with color
let g:ConqueTerm_CloseOnEnd = 1 " close conque when program ends running
let g:ConqueTerm_StartMessages = 0 " display warning messages if conqueTerm is configured incorrectly
leader
significa
<leader>r
significa <kbd> \ </kbd> + <kbd> r </kbd> en mis computadoras. El manual de Vim tiene una entrada para ello::help leader
<Leader>b
. Establece un punto de interrupción en la posición del cursor. Sin embargo, NO es una palanca, por lo que no puede usarlo para eliminarlo nuevamente. Más bien, tendrá que escribir 'clear' en el indicador de GDB.
Tienes varios complementos que integran gdb.
Y también hay un complemento que integra lldb (del proyecto LLVM)
Parece que Bram está actualmente (septiembre de 2017) trabajando en la integración de gdb desde vim gracias a la nueva :terminal
característica. Para usarlo, necesitamos cargar el termdebug
paquete (con :packadd termdebug
), luego podremos iniciar una consola gdb en una ventana vim con :TermDebug (+options)
. En mi opinión, podemos considerar que es el futuro de la integración de GDB bajo Vim.
edit
Comando GDB
Abre un editor en la línea actual usando el comando:
$EDITOR +<current-line> <current-file>
El valor predeterminado editor
es ex
, pero vim
también comprende el +<current-line>
formato.
Cuando abandonas el editor, vuelves a entrar gdb
.
Esto le permite navegar libremente por la fuente y es especialmente potente si tiene ctags
integración.
Esta es una integración integrada de gdb a vim de un hombre pobre: lo principal que falta es establecer puntos de interrupción desde Vim.
edit
y centro
edit
no centra Vim de forma predeterminada alrededor de la fuente, por lo que he creado un script de Python que lo hace: https://stackoverflow.com/questions/43557405/how-to-open-the-current-file-at-the- current-line-in-a-text-editor-from-gdb / 43557406 # 43557406
Comando de punto de interrupción para ayuda del portapapeles
Este comando vim copia un especificador de punto de interrupción de tipo:
b <file-path>:<line-number>
al portapapeles:
command! Xg :let @+ = 'b ' . expand('%:p') . ':' . line('.')
Entonces puedes pegar eso gdb
.
Esta es la integración de vim a gdb de un hombre pobre para facilitar el establecimiento de puntos de interrupción.
Ver también: https://stackoverflow.com/questions/3536600/do-you-debug-c-code-in-vim-how
Aunque técnicamente no es vim. cgdb es una versión maldita de gdb con combinaciones de teclas similares a vim. Ha sido mi goto depurador durante años: