1.前置條件準備(二) - 像讀文章一樣讀源碼

不得不說 開源項目沒有一個提綱 , 看起來太操蛋了。問了作者, 作者說 , 你運行下主函數, 然后慢慢跟 。。。


image.png

沒有目的地概覽 , 不知不覺就追究到細節里面去了。

image.png

所以這一篇文章的目地就是 , 如何在沒有提綱的情況下 , 能更好的只關注流程 , 而不是細節 。

開始 :

  1. python DEBUG 模塊介紹 :
     前段時間看過挺多文章提到pysoonper這個調試模塊 , 有興趣的可以百度一下.
    個人嘗試了一下 , 篇幅過大的DEBUG不適合用 pysoonper , 因為沒有縮進 !
     這幾天偶然遇到一個二次封裝的模塊snoop, 完美地解決了這個問題.
  2. 操作步驟 :
  • 1 . 在eric6.pymain()函數上加snoop裝飾器;
    image.png
  • 2 . 用vscode 打開 eric6start_.log 文件 (8層深度log文件34W行, pycharm對大文件支持很差);
    log文件

發現可以折疊 , 但是最大可折疊等級只到5級 , 而且無法對對應等級折疊 , 有點遺憾 。也許是.log格式選得不太好, 不知道是否有更好的后綴格式。

  • 3 . vscode配置log文件關鍵字高亮;
    安裝高亮插件


    image.png

    配置高亮關鍵字


    image.png

callreturn 給加進去.

  • 4 .增加階段關鍵字;


    eric6啟動階段

image.png

#000 是為了方便搜索 。
需要自己手動折疊 。
可以發現 每個splash.showMessage() 都是一個階段 , 展開折疊之后就是每個階段具體執行細節 。


ps: vscode 閱讀log文件還是有一些不方便的地方 , 除了在2.中提到的, 還有包括關閉文件再打開, 折疊狀態不會保留 , 有其他更好的方式 請留言告訴我 , 謝謝.

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容