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?
external-command
ide
nombre
fuente
fuente
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:
Yo uso estas opciones de complementos:
fuente
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 eltermdebug
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.fuente
edit
Comando GDBAbre un editor en la línea actual usando el comando:
El valor predeterminado
editor
esex
, perovim
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 centroedit
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 # 43557406Comando de punto de interrupción para ayuda del portapapeles
Este comando vim copia un especificador de punto de interrupción de tipo:
al portapapeles:
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
fuente
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:
https://cgdb.github.io/
fuente