調試/跟蹤vim插件的最佳方法是什麼?假設我有一個非常複雜的插件Foo,它在按下按鍵F9時會打開帶有文件瀏覽器的新窗口,並提供選擇文件的可能性,然後將文件名複製到主窗口中。我希望看到當我按下某個呼叫跟蹤按鍵時,所調用的按鍵,即F9。使用通話跟蹤調試Vim插件
15
A
回答
13
我發現的最好方法是在啓動(g)vim時使用-V
標誌。您可以指定跟蹤N
爲寫日誌級別和文件名:
$ vim -V[N]{filename}
然後跟蹤信息將被給予所採購的每一個文件。 (有關更多信息,請參見:help -V
)。
通過生成的日誌文件進行拖網可能很痛苦,但它通常非常有用。我發現最好在觸發事件之前和之後查看日誌文件(按您的案例中的<F9>
)以獲取發生何時的圖片。
5
如果您已經打開vim,請嘗試在VIM的內置調試器下手動執行該命令。
1)找出當你按下鍵
:map <F-9>
2 VIM做什麼)下調試
:debug _mapped_command_
3)現在你應該可以下降到手動運行將映射的命令調試器,所以
set verbose=20
4)最後按n
和回車鍵繼續[R統一腳本
此時您應該在屏幕上看到一大堆輸出。您可以按Space鍵滾動屏幕,j/k按行移動。
任何以「Line#:」開頭的輸出都是vim正在執行的行。
1
對於複雜的插件,通常命令行調試或跟蹤是不夠的。
您可以使用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)
我有修復/ TWEAK /進化了很多VIM插件感謝這個偉大的插件。
相關問題
- 1. Linux,調試,跟蹤
- 2. 調試Vim插件加載
- 3. 正確使用堆棧跟蹤調試
- 4. 通過電話跟蹤GPS
- 5. 使用會話跟蹤
- 6. 調試堆棧跟蹤?
- 7. printf調試跟蹤功能
- 8. Web調試:跟蹤GET源
- 9. 跟蹤和調試語句
- 10. Android調試跟蹤問題
- 11. 不帶跟蹤調試AS2
- 12. 調試堆棧跟蹤
- 13. C調試vs跟蹤#
- 14. 調試Boost.Serialization地址跟蹤
- 15. 沒有使用Django設置的調試跟蹤調試= True
- 16. 使用Spring跟蹤用戶登錄和註銷會話跟蹤
- 17. 電話跟蹤
- 18. 會話跟蹤
- 19. 從插件內部通過SDK使用ReSharper「呼叫跟蹤」
- 20. 如何使用調試器來生成跟蹤文件?
- 21. 使用Chrome瀏覽器的JavaScript調試器跟蹤事件
- 22. 跟蹤wordpress插件安裝
- 23. 使用backbone.js跟蹤用戶會話
- 24. 使用Google Analytics跟蹤用戶會話
- 25. 跟蹤調試程序不不使用調試器調用Web服務,.NET
- 26. PHP更改調試跟蹤大小/ Magento跟蹤
- 27. 使用ProGuard調試Android模糊堆棧跟蹤使用ProGuard
- 28. 會話跟蹤Servlet
- 29. SIP會話跟蹤
- 30. Java會話跟蹤