画面の上部にソースコードを表示する代わりに、gdbtui
またはそのctrl+x
下gdb
に、Vimエディターでタブ間を移動し、それに応じてバッファーを表示することを希望します。
これどうやってするの?
画面の上部にソースコードを表示する代わりに、gdbtui
またはそのctrl+x
下gdb
に、Vimエディターでタブ間を移動し、それに応じてバッファーを表示することを希望します。
これどうやってするの?
回答:
私が試したすべてのプラグインの中で、ConqueGDBが最良のアプローチであることがわかりました。ConqueGDBは、Conque Shellを使用して、GDBが使用するvim内にインタラクティブシェルを埋め込みます。
ConqueGDBを使用したワークフローは、GDBターミナルでGDBコマンドを入力するのではなく、vimソースコードでショートカットを使用します。ただし、必要に応じてGDBプロンプトを引き続き使用することも、より高度なコマンドを使用することも、スクロールしてデバッグセッション全体を表示することもできます。
いくつかのConqueGDBのデフォルトマッピング、たとえば:
vimカーソル行がGDB「行の印刷」を発行するためにどのように使用され、コードの現在の実行が別の行(14)にあり、行10にブレークポイントがあることに注意してください。
たとえば、Vundleでインストールするには:
Plugin 'vim-scripts/Conque-GDB'
これらのプラグインオプションを使用します。
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
意味ですか?
<leader>r
、コンピューター上の<kbd> \ </ kbd> + <kbd> r </ kbd>を意味します。Vimマニュアルには次のエントリがあります:help leader
<Leader>b
。カーソル位置にブレークポイントを設定します。ただし、これはトグルではないため、これを使用して再度削除することはできません。むしろ、GDBプロンプトに「clear」と書く必要があります。
gdbを統合するプラグインがいくつかあります。
また、LLDB(LLVMプロジェクトから)を統合するプラグインもあります
ブラムは、現在(2017年9月)は、新規にvimのおかげで内からGDBの統合に取り組んでいるようだ:terminal
機能。それを使用するには、(で)termdebug
パケットをロードする必要があり:packadd termdebug
、それからvimウィンドウでgdbコンソールを起動できます:TermDebug (+options)
。IMOは、Vimの下でのGDB統合の未来であると考えることができます。
GDB edit
コマンド
次のコマンドを使用して、現在の行でエディターを開きます。
$EDITOR +<current-line> <current-file>
デフォルトeditor
はですがex
、形式vim
も理解し+<current-line>
ます。
エディターを終了すると、に戻りますgdb
。
これにより、ソースを自由に閲覧でき、ctags
統合されている場合は特に強力です。
これは貧弱な人が組み込みのgdbからvimへの統合です。主な不足していることは、Vimからブレークポイントを設定することです。
edit
そしてセンター
edit
デフォルトではソースの周りにVimを配置しないため、それを行うPythonスクリプトを作成しました:https : //stackoverflow.com/questions/43557405/how-to-open-the-current-file-at-the- gdb / 43557406#43557406からのテキストエディターの現在の行
クリップボードヘルパーへのブレークポイントコマンド
このvimコマンドは、タイプのブレークポイント指定子をコピーします。
b <file-path>:<line-number>
クリップボードへ:
command! Xg :let @+ = 'b ' . expand('%:p') . ':' . line('.')
次に、それをに貼り付けますgdb
。
これは、ブレークポイントの設定を容易にするためのgdb統合に対する貧弱な人のvimです。
参照:https : //stackoverflow.com/questions/3536600/do-you-debug-c-code-in-vim-how
技術的にはvimではありませんが。cgdbは、vimのようなキーバインドを持つgdbのcursesバージョンです。それは長年私のgotoデバッガーでした: