Linux通過使用pdb簡單除錯python計畫

2021-09-07 01:18:19 字數 1440 閱讀 5158

python自帶的除錯工具庫:pdb

# -*- coding:utf-8 -*-

def func(num):

s = num * 10

return s

if __name__ == '__main__':

print 'debug starting...'

print '*' * 10

print 'debug ending…'

num = 100

s = func(num)

print s

在python檔案裡不引用pdb庫,能夠在執行python檔案的時候,加上引數:

python -m pdb demo.py

來到pdb除錯互動介面,debug模式將會停止在的第一行程式**行

能夠執行例如以下命令,進行對應的操作:

b(or break):設定斷點。設定函式:b demo.func;設定行數:b demo:14(行數)

step over,跳過

c(or continue):執行下乙個斷點,沒有斷點則到程式結束:step filter

s(or step):進入函式,

step into,單步跳入

r(or return):跳出函式,step return

l(or list):檢視當前**段

q(or quit):退出當前debug

p(or print):列印變數值

h(or help):檢視幫助

cl(clear):清除全部節點

disable [bpnumber[bpnumber]]:將第num個斷點失效。enable。失效第10個斷點

enable [bpnumber[bpnumber]]:啟用第num個斷點,enable 10。啟用第10個斷點

w(where):列印堆疊資訊

a(args):列印當前函式引數資訊

當然我們也能夠使用pdb庫的函式,來實現對py的debug:

比方:我們能夠使用pdb函式:set_trace()

def func(num):

s = num * 10

return s

if __name__ == '__main__':

print 'debug starting...'

print '*' * 10

pdb.set_trace()

print 'debug ending…'

num = 100

s = func(num)

print s

執行程式:python pdb_demo.py

此時意味著給程式設定斷點行。將會自己主動執行至print 『py ending...』停住,讓開發人員繼續觸發接下來操作。這個操作是py其他參考py什麼時候,只需設定乙個斷點優勢。

Linux下使用pdb簡單除錯python程式

linux下使用pdb簡單除錯python程式 python自帶除錯工具庫 pdb coding utf 8 def func num s num 10 return s if name main print debug starting.print 10 print debug ending nu...

使用PDB簡單除錯Python程式簡明指南

在 python 中也可以像 gcc gdb 那樣除錯程式,只要在執行 python 程式時引入 pdb 模組 假設要除錯的程式名為 d.py 複製 如下 vi d.py usr bin python def main i,sum 1,0 for i in xrange 100 sum sum i ...

linux 簡單呼叫so庫

1 動態庫生成 gcc fpic shared cat.c o libcat.so o是要生成的檔案的名稱 2 編譯指令直接鏈結呼叫 gcc main.c l.lcat o test l.表示鏈結的動態庫在本地資料夾 執行可執行檔案時,需要新增本地目錄到lib目錄,否則會報 cannot open ...