Em vez de gdbtui
ou ctrl+x
sob o gdb
qual mostra o código fonte na parte superior da tela, eu gostaria de ver isso no meu editor Vim, que saltaria entre as guias e os buffers de acordo.
Como posso fazer isso?
external-command
ide
nome
fonte
fonte
Respostas:
Entre todos os plugins que experimentei, achei o ConqueGDB a melhor abordagem. O ConqueGDB usa o Conque Shell para incorporar um shell interativo no vim, usado pelo GDB.
O fluxo de trabalho com o ConqueGDB consiste em não inserir comandos GDB no terminal GDB, você usa atalhos no código-fonte do vim. Mas você pode continuar usando o prompt do GDB, se desejar, para obter comandos mais avançados ou rolar para ver a sessão de depuração inteira.
Alguns mapeamentos padrão do ConqueGDB, por exemplo:
Observe como a linha do cursor vim foi usada para emitir uma 'linha de impressão' do GDB, a execução atual do código está em outra linha (14) e há um ponto de interrupção na linha 10.
Para instalar com o Vundle, por exemplo:
Eu uso estas opções de plug-in:
fonte
leader
significa<leader>r
significa <kbd> \ </kbd> + <kbd> r </kbd> nos meus computadores. Manual Vim tem uma entrada para ele::help leader
<Leader>b
. Ele define um ponto de interrupção na posição do cursor. No entanto, NÃO é uma alternância, portanto você não pode usá-lo para removê-lo novamente. Em vez disso, você precisará escrever 'clear' no prompt do GDB.Você tem vários plugins que integram o gdb.
E também há um plugin que integra lldb (do projeto LLVM)
Parece que Bram está atualmente (setembro de 2017) trabalhando na integração do gdb a partir do vim, graças ao novo
:terminal
recurso. Para usá-lo, precisamos carregar otermdebug
pacote (com:packadd termdebug
), então poderemos iniciar um console gdb em uma janela do vim com:TermDebug (+options)
. Na IMO, podemos considerar o futuro da integração do GDB no Vim.fonte
edit
Comando GDBAbre um editor na linha atual usando o comando:
O padrão
editor
éex
, masvim
também entende o+<current-line>
formato.Ao sair do editor, você volta ao
gdb
.Isso permite que você navegue livremente na fonte e é especialmente poderoso se você tiver
ctags
integração.Essa é a integração do gdb para o vim de um pobre homem: a principal coisa que falta é definir pontos de interrupção no Vim.
edit
e centroedit
não centraliza o Vim por padrão na fonte, por isso criei um script Python que o faz: https://stackoverflow.com/questions/43557405/how-to-open-the-current-file-at-the- linha-atual-em-um-editor-de-texto-do-gdb / 43557406 # 43557406Comando do ponto de interrupção para o auxiliar da área de transferência
Este comando vim copia um especificador de ponto de interrupção do tipo:
para a área de transferência:
Então você pode simplesmente colar isso
gdb
.Este é o ponto fraco da integração com o gdb para facilitar a definição de pontos de interrupção.
Consulte também: https://stackoverflow.com/questions/3536600/do-you-debug-c-code-in-vim-how
fonte
Embora não seja tecnicamente vim. O cgdb é uma versão maldita do gdb com atalhos de teclado parecidos com o vim. Tem sido meu depurador Goto por anos:
https://cgdb.github.io/
fonte