国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

在Linux下調試Python代碼的各種方法

2020-02-23 00:45:42
字體:
來源:轉載
供稿:網友

 這是一個我用于調試或分析工具概述,不一定是完整全面,如果你知道更好的工具,請在評論處標記。

日志

是的,的確,不得不強調足夠的日志記錄對應用程序是多么的重要。您應該記錄重要的東西,如果你的記錄足夠好的話,你可以從日志中找出問題從而節省大量的時間。

如果你曾經用print語句來調試代碼現在停下吧,用logging.debug替代,開始可以慢慢來,以后完全禁用它...

追蹤
有時看到程序如何被執行會很有幫助。你可以使用IDE的調試共軛ngn一步一步的運行程序,但你需要知道你要找的是什么,否則這將會是一個漫長的過程。
標準庫中有一個 trace模塊,可以打印所有執行過程中的內容(像制作 覆蓋率報告)。
 

python -mtrace --trace script.py

這將產生大量輸出(每個行會被打印輸出,所以你最好通過管道,用grep只看自己感興趣的部分),例如:
 

python -mtrace --trace script.py | egrep '^(mod1.py|mod2.py)'- 

如果你喜歡新特性,那么你可以嘗試 smiley - 它可以顯示變量內容變化,還可以用它來遠程追蹤程序。

PDB
 

import pdbpdb.set_trace() # opens up pdb prompt

或者:
 

try:  code  that  failsexcept:  import pdb  pdb.pm() # or pdb.post_mortem()

或(按鍵盤C鍵啟動腳本):
 

python -mpdb script.py

像在REPL中那樣:

    c or continue     q or quit     l or list, 在當前界面顯示源碼     w or where, 顯示回溯     d or down, 顯示回溯的下一界面     u or up, 顯示回溯的上一界面     <enter>, 重復最后一個命令     其他任何東西,在當前界面評估源碼 (t還有其他的一些命令) corcontinue qorquit lorlist,顯示在當前幀的源 worwhere,顯示回溯 dordown,下山1幀回溯 uorup,上升1幀回溯 回車,重復最后一個命令

幾乎任何東西,評估當前幀的Python代碼(還有其他幾個命令)

可以替代pdb的:

    ipdb (easy_install ipdb) - 像 ipython (自動補齊, 顏色等)     pudb (easy_install pudb) - 基于curses (類gui), 瀏覽源碼有很好的表現。

遠程 PDB
 

sudo apt-get install winpdb

替代 pdb.set_trace():
 

import rpdb2rpdb2.start_embedded_debugger("secretpassword")

現在運行Winpdb , 輸入密碼 到 File > Attach。
不喜歡 Winpdb ? 只要通過 TCP運行 PDB

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 桐乡市| 海盐县| 锦屏县| 越西县| 盈江县| 昌图县| 茂名市| 博乐市| 墨江| 庐江县| 邓州市| 天峻县| 孟津县| 丹阳市| 沙湾县| 郓城县| 彝良县| 嵩明县| 蒙城县| 东兴市| 宜良县| 台东县| 平和县| 苍溪县| 密云县| 枞阳县| 夏邑县| 天津市| 米泉市| 海门市| 东安县| 靖宇县| 含山县| 兴城市| 耒阳市| 高陵县| 图木舒克市| 巴彦县| 和政县| 广昌县|