Pyclewn で、GDB ノススメ☆
vim で簡単に GDB を使いたいでゲソよ!!
と、いう訳で vim 上で、GDB を行うツール(プラグイン?)の Pyclewn を試してみました。
前身として、clewn というものもあるみたいですが、こちらは Windows では使えないみたいです。
Pyclewn と clewn の違いなんかは、ここら辺を見れば分かりやすいと思います。
☆導入
最新は、ver1.5 みたいですが、Windows だと ver 1.4 のインストーラしかないっぽい?
ここら辺からインストーラを落としてきます。
ただ、インストール後の Pyclewn のバージョンを見てみると 1.5 になっていたりするのでよく分かりません……。
インストール時に特に設定とかはいらなかったと思います。
☆Pyclewn でデバッグを行うまでの流れ
[main.cpp]
int plus(int a, int b){ return a + b; } int main(){ int sum = 0; for( int i = 0 ; i < 10 ; i++ ){ sum += i; } int n = plus(10, 4); return 0; }
2.Pyclewn の起動
:Pyclewn
3.実行バイナリの設定
:Cfile test.exe
☆キーバインド
デバッグ中の基本的な操作方法です。
下記のコマンドで、Pyclewn のキーバインドを有効にしておく必要があります。
:Cmapkeys
msvc のキーバインドを比較するとこんな感じです。
Pyclewn | msvc | 備考 | |
---|---|---|---|
実行 | F5 | ||
ブレークポイントのON/OFF | F9/F9 | ||
ステップオーバー | F10 | 処理の中に侵入しないで1行ずつステップ | |
ステップイン | F11 | 処理の中に侵入して、1行ずつステップ | |
ステップアウト | Shift+F11 | スコープから出る | |
続行 | F5 | 次のブレークポイントに飛ぶ | |
終了 | Shift+F5 | Pyclewn は GDB が終了する |
※S = Shift、C = Ctrl
詳しいキーバインドは :help で調べてみてください。
:help gdb-keys
☆変数の中身を出力
:Cdbgvar {変数名}
☆覚書
- バイナリを作り直した場合は[:Cfile]をその都度呼び出す必要がある
- GDB を終了したらブレークポイントも全部消える
- GDB を起動するたびにブレークポイントを設定する必要が有る
- Pyclewn コマンドは、:C〜から始まる
[参照]
http://blogs.yahoo.co.jp/m_okimotojp/51146346.html
http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-pyclewn/
http://d.hatena.ne.jp/parasporospa/20061215/p1
http://www.fireproject.jp/feature/gdb/