vimプラグインのデバッグ/トレースの一般的な方法は何ですか? F9というキーを押すとファイルブラウザーで新しいウィンドウが開き、ファイルを選択した後にファイル名がメインウィンドウにコピーされるという非常に洗練されたプラグインFooがあるとします。 F9キー、何らかのコールトレースを押したときに何が呼び出されているのかを見たいと思います。コールトレース付きのVimプラグインのデバッグ
答えて
私は発見した最良の方法は、(G)Vimを起動するとき-V
フラグを使用することです。
$ vim -V[N]{filename}
そして、トレースメッセージが発信されているファイルごとに与えられます:あなたが書かれたログのN
をトレースのレベルとファイル名を指定することができます。痛みを伴うことができたログファイルを通じてトロール
(。詳細は:help -V
を参照)が、それは通常、かなり有益です。私は、いつ起こっているのかを把握するために、トリガーイベントの前後にログファイルを表示することをお勧めします(あなたのケースでは<F9>
を押してください)。あなたは既にVimが開いている場合
、VIMのデバッガに建てられたの下で手動でコマンドを実行してみてください。
1)手動でデバッガ
:debug _mapped_command_
3)今あなたがしてドロップする必要があります下にマッピングされたコマンドを実行します。)あなたは、キー
:map <F-9>
2を押すとVimが何をするかを調べますデバッガ、だから
set verbose=20
4)そして最後にn
とEnterキーを押してrを続けるunningこの時点でスクリプト
あなたは、画面上の出力の全体の束が表示されるはずです。 Spaceを押して画面をスクロールし、j/kを行単位で移動できます。
「ライン#:」で始まる任意の出力は、ラインVimはその時点で実行されています。
洗練されたプラグインの場合、通常コマンドラインのデバッグまたはトレースでは不十分です。
BreakPtsを使用すると、vim内でビジュアルデバッグを行うことができます。
これは、リモートデバッグをもとに、あなたはVIMのサーバーインスタンスをデバッグする必要があります。基本的には
:
ターミナル1:
$ vim --servername Foo
...
set breakpoint on any Foo function
do whatever operation which trigger Foo logic
...
ターミナル2:
$ vim
:BreakPts
:BPRemoteServ FOO
:BPDWhere locate (actual debug execution point)
:BPDNext or F12 (next execution line)
:BPDStep or F11 (step inside functions, dictionary functions)
:BPDEvaluate or F8 (if pressed on visual selection evaluates that)
:BPDCont or F5 (continue execution)
あなたはブレークポイントを設定する前に彼らと一緒に動作する必要があるので、いくつかのプラグインがdinamicallyロードされている参照してください。
一度あなたが接続されているVIMからブレークポイントを設定することができますロード:
:BPFunctions (Show debuggeable fuctions on RemoteServer)
:BPScripts (Show debuggeable scripts on RemoteServer)
:BPPoints (Show defined breakpoints on RemoteServer)
私はvimのプラグインの修正/微調整/進化多くにこの偉大なプラグインのおかげを持っています。
- 1. ハノイの塔コールトレース
- 2. gist-vimのデバッグ
- 3. Vimの「プロジェクト」のプラグイン -
- 4. OpenFXプラグインのデバッグ
- 5. jQueryプラグインのデバッグ
- 6. Vim bugzillaプラグイン?
- 7. カスタムAutoClose vimプラグイン
- 8. vimのtreelike構造のプラグイン
- 9. Vimプラグイン - コマンドモードでparamsのカスタムオートコンプリート
- 10. vimプラグインの一部であるPython関数をデバッグする方法は?
- 11. Vim用Python&Djangoプラグイン
- 12. Vim:ショート・カット付きバッファ・ループ
- 13. タグリスト付きのctagsとvimとpython virtualenv
- 14. VIM Ruby Regexのシンタックスハイライト(引用符付き)
- 15. vimの表形式のプラグインの質問
- 16. IE(7)プラグイン(BHO)のデバッグ
- 17. Tracプラグインのデバッグ方法は?
- 18. Vimのワークフロー - デバッグと起動端末
- 19. Resqueプラグイン付きActiveJob
- 20. Bluetoothプラグイン付きOnsenui
- 21. psycopg2プラグイン付きDjango
- 22. 定数付きプラグイン
- 23. Vimのプラグインの外部リンク今
- 24. jQuery Validationプラグイン(スタイル付きテキストボックス付き)
- 25. WCFの名前付きパイプのデバッグ
- 26. タイプスクリプト内のスタイル付きコンポーネントのデバッグ
- 27. ディレクトリリスト/ファイルを開くためのvimプラグイン
- 28. vimプラグインの制御読み込み
- 29. vimプラグインのインストールに関する問題
- 30. モカ付きデバッグ、グローバルをロード