不得不說 開源項目沒有一個提綱 , 看起來太操蛋了。問了作者, 作者說 , 你運行下主函數, 然后慢慢跟 。。。
image.png
沒有目的地概覽 , 不知不覺就追究到細節里面去了。
image.png
所以這一篇文章的目地就是 , 如何在沒有提綱的情況下 , 能更好的只關注流程 , 而不是細節 。
開始 :
- python DEBUG 模塊介紹 :
前段時間看過挺多文章提到pysoonper這個調試模塊 , 有興趣的可以百度一下.
個人嘗試了一下 , 篇幅過大的DEBUG不適合用 pysoonper , 因為沒有縮進 !
這幾天偶然遇到一個二次封裝的模塊snoop, 完美地解決了這個問題. - 操作步驟 :
- 1 . 在
eric6.py
的main()
函數上加snoop裝飾器;
image.png - 2 . 用vscode 打開
eric6start_.log
文件 (8層深度log文件34W行, pycharm對大文件支持很差);
log文件
發現可以折疊 , 但是最大可折疊等級只到5級 , 而且無法對對應等級折疊 , 有點遺憾 。也許是.log格式選得不太好, 不知道是否有更好的后綴格式。
-
3 . vscode配置log文件關鍵字高亮;
安裝高亮插件
image.png
配置高亮關鍵字
image.png
將call
和return
給加進去.
-
4 .增加階段關鍵字;
eric6啟動階段
image.png
加
#000
是為了方便搜索 。需要自己手動折疊 。
可以發現 每個
splash.showMessage()
都是一個階段 , 展開折疊之后就是每個階段具體執行細節 。