Alih-alih gdbtui
atau di ctrl+x
bawah gdb
yang menunjukkan kode sumber di atas layar, saya ingin melihat ini di editor Vim saya yang akan melompat di antara tab, dan buffer sesuai.
Bagaimana saya bisa melakukan ini?
external-command
ide
nama
sumber
sumber
Jawaban:
Di antara semua plugin yang saya coba, saya menemukan ConqueGDB menjadi pendekatan terbaik. ConqueGDB menggunakan Conque Shell untuk menanamkan shell interaktif di dalam vim, yang digunakan oleh GDB.
Alur kerja dengan ConqueGDB terdiri tidak memasukkan perintah GDB pada terminal GDB, Anda menggunakan pintasan pada kode sumber vim. Tetapi Anda dapat terus menggunakan prompt GDB jika Anda ingin, untuk perintah lebih lanjut, atau gulir untuk melihat seluruh sesi debug.
Beberapa pemetaan default ConqueGDB, misalnya:
Perhatikan bagaimana garis kursor vim telah digunakan untuk mengeluarkan 'baris cetak' GDB, eksekusi kode saat ini di baris lain (14) dan ada breakpoint pada baris 10.
Untuk menginstal dengan Vundle misalnya:
Saya menggunakan opsi plugin ini:
sumber
leader
artinya<leader>r
berarti <kbd> \ </kbd> + <kbd> r </kbd> di komputer saya. Vim manual memiliki entri untuk itu::help leader
<Leader>b
. Ini menetapkan breakpoint pada posisi kursor. Namun, ini BUKAN beralih, jadi Anda tidak dapat menggunakannya untuk menghapusnya lagi. Sebaliknya, Anda harus menulis 'jelas' pada prompt GDB.Anda memiliki beberapa plugin yang mengintegrasikan gdb.
Dan ada juga plugin yang mengintegrasikan lldb (dari proyek LLVM)
Tampaknya Bram saat ini (september 2017) bekerja pada integrasi gdb dari dalam vim berkat
:terminal
fitur baru . Untuk menggunakannya, kita perlu memuattermdebug
paket (dengan:packadd termdebug
), maka kita akan dapat memulai konsol gdb di jendela vim:TermDebug (+options)
. IMO, kita dapat menganggapnya sebagai masa depan integrasi GDB di bawah Vim.sumber
edit
Perintah GDBBuka editor di baris saat ini menggunakan perintah:
Standarnya
editor
adalahex
, tetapivim
juga memahami+<current-line>
formatnya.Ketika Anda keluar dari editor, Anda kembali ke
gdb
.Ini memungkinkan Anda untuk menelusuri sumber secara bebas dan sangat kuat jika Anda memiliki
ctags
integrasi.Ini adalah built-in one way gdb to vim integrasi orang miskin: hal utama yang hilang adalah pengaturan breakpoints dari Vim.
edit
dan pusatedit
tidak memusatkan Vim secara default di sekitar sumber, jadi saya telah membuat skrip Python yang melakukannya: https://stackoverflow.com/questions/43557405/how-to-open-the-current-file-at-the- current-line-in-a-text-editor-from-gdb / 43557406 # 43557406Perintah breakpoint untuk bantuan clipboard
Perintah vim ini menyalin penentu breakpoint tipe:
ke clipboard:
Maka Anda bisa menempelkannya ke
gdb
.Ini adalah vim orang miskin untuk integrasi gdb untuk memudahkan pengaturan breakpoints.
Lihat juga: https://stackoverflow.com/questions/3536600/do-you-debug-c-code-in-vim-how
sumber
Meskipun secara teknis tidak vim. cgdb adalah versi kutukan dari gdb dengan keybindings mirip vim. Sudah debugger goto saya selama bertahun-tahun:
https://cgdb.github.io/
sumber