分享乙個「貧民版」除錯工具 PySnooper

2021-09-20 07:20:49 字數 980 閱讀 7342

一般情況下,在編寫 python **時,如果想弄清楚為什麼 python **沒有按照預期執行的原因,比如你想知道哪些是正在執行,哪些沒有執行,以及區域性變數的值是什麼...通常我們會使用包含斷點和觀察模式等功能成熟的偵錯程式,或者直接使用 print 語句列印出來。

今天,猿妹和大家分享乙個「貧民版」除錯工具——pysnooper

pysnooper允許你執行以上相同的操作,只需為要除錯的函式新增乙個裝飾器即可,而不需要構建正確的 print 列印。你還將得到函式的詳細日誌,包括執行了哪些**行、何時執行以及何時更改了區域性變數。

pysnooper 使用起來十分簡單,開發者可以在任何龐大的**庫中使用它,而無需進行任何設定。你只需新增裝飾器,並為日誌輸出位址指定路徑,方法是將其路徑指定為第乙個引數。

示例

以下編寫了乙個函式,通過返回乙個二進位制列表。我們只需要通過新增@pysnooper.snoop()裝飾器就可以了:

輸出如下:

特性

stderr,則可以將選擇輸出到指定檔案:

@pysnooper.snoop('/my/log/file.log')

檢視一些非區域性變數的變數值:

@pysnooper.snoop(variables=('foo.bar','self.whatever'))

顯示函式呼叫的函式的snoop行:

@pysnooper.snoop(depth=2)

介紹乙個node除錯工具 nodemon

這個工具和node supervisor基本上是一致的,但是其功能比較強大,個人覺得在開發環境還是用 nodemon,因為配置比較方便,文件也很清晰。所以這裡先主要講 nodemon。nodemon 的安裝 npm install g nodemon安裝完 nodemon 後,就可以用 nodemo...

乙個簡單的lua除錯工具

最近看起了lua的debug庫,想著可以簡單弄個跟gdb這樣的命令列除錯工具,於是花了幾天時間,搞了個相當簡單的除錯工具,實現了簡單的列印和斷點和下一步的功能 修改變數值的實現方式其實跟列印的操作並沒有很大區別,所以就懶得弄啦 雖然 很粗糙,使用和體驗上也相當奇葩,也勉強把,畢竟也達到了學學習,動動...

發乙個較好的除錯工具

a good crackme tool,usr ptrace to debug the need crack file from tiocsti s solution to yanisto s tiny crackme,url added some comments include include ...