python在Ubuntu系統下的除錯工具pdb

2021-07-31 17:06:16 字數 1611 閱讀 5506

pdb 是 python 自帶的乙個包,為 python 程式提供了一種互動的源**除錯功能,主要特性包括設定斷點、單步除錯、進入函式除錯、檢視當前**、檢視棧片段、動態改變變數的值等。pdb 提供了一些常用的除錯命令

參考鏈結

簡而言之就兩步:

- 1.import pdb

- 2.設定斷點 pdb.set_trace()

命令 : 解釋

import pdb 

a = "aaa"

pdb.set_trace()

b = "bbb"

c = "ccc"

final = a + b + c

print final

這樣的方式,(pdb) 會自動停在第一行,等待除錯;這時你可以看看幫助 (pdb) h(elp)

說明下這幾個關鍵 命令

(pdb)b 10 #斷點設定在本py的第10行

或(pdb)b ots.py:20 #斷點設定到 ots.py第20行

刪除斷點(pdb)b #檢視斷點編號

(pdb)cl 2 #刪除第2個斷點

(pdb)n #單步執行

(pdb)s #細點執行 也就是會下到,方法

(pdb)c #跳到下個斷點

(pdb)p param #檢視當前 變數值

(pdb)l #檢視執行到某處**

(pdb)a #檢視全部棧內變數

(pdb)w 列出目前call stack 中的所在層。

(pdb)d 在call stack中往下移一層

(pdb)u 在call stack中往上移一層。如果在上移一層之後按下 n ,則會在上移之後的一層執行下乙個敘述,之前的 function call 就自動返回。

(pdb)cl 清除指定的斷點。如果沒有帶引數,則清除所有斷點。

(pdb)disable 取消所有斷點的功能,但仍然保留這些斷點。

(pdb)enable 恢復斷點的功能。

(pdb)ignore 設定斷點的忽略次數。如果沒指定 count,其初始 為 0。當 count 為 0 時,斷點會正常動作。若有指定 count,則每次執行到該中斷, count 就少 1,直到 count 數為 0。

(pdb)condition bpnumber [condition]

(pdb)j(ump) lineno. 跳到某行執行。只有在 call stack 的最底部才能作用。

(pdb)l 列出目前所在檔案中的位置。連續地 l 命令會一直列到檔案結尾,可以使用指定行數或範圍來列印。

(pdb)pp 和 p 命令類似,但是使用 pprint module(沒用過 pprint,詳情請參考 python library reference)。

(pdb)alias 以乙個"別名"代替"一群除錯命令",有點類似 c/c 的 macro(詳情請參考 python library reference)。

(pdb)unalias 取消某個 alias。

(pdb)[!]statement 在目前的環境(context)中執行敘述。

在 Ubuntu 系統安裝 Redis

在 ubuntu 系統安裝 redis 可以使用以下命令 sudo apt get update sudo apt get install redis serverredis serverredis cli以上命令將開啟以下終端 redis 127.0.0.1 6379 127.0.0.1 是本機 ...

Ubuntu系統安裝python

參考 參考 python官網 2 xz d python 2.7.6.tar.xz 再tar xvf python 2.7.6.tar 3 cd python 2.7.6 執行 configure 4 make make install 進行安裝。5 ll usr bin python檢視pytho...

ubuntu下opencv在python中的配置

因為之前在安裝caffe的時候裝過opencv,那次是用cmake編譯安裝的,當時應該是沒設定makelist中python選項,最近在想在python中呼叫cv2,結果發現opencv的編譯包中沒有cv2.pyd,python中import cv2找不到相應庫。然後我又去已安裝的python第三方...