程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Linux下的Python調試

Linux下的Python調試

編輯:關於PHP編程

Linux下的Python調試


python有自帶的pdb庫,可以實現簡單的調試功能,基本命令與gdb類似,不過功能不會有gdb那麼強大,pdb主要支持多斷點設置(可條件設置),代碼級單步調試,查看堆棧信息,代碼查看,post-mortem調試,

詳細信息可以查看:http://docs.python.org/2/library/pdb.html


用pdb調試有多種方式可選:

1. 命令行啟動目標程序,加上-m參數,這樣調用myscript.py的話斷點就是程序的執行第一行之前
python -m pdb myscript.py


2. 在Python交互環境中啟用調試
>>> import pdb
>>> import mymodule
>>> pdb.run(‘mymodule.test()’)


3. 比較常用的,就是在程序中間插入一段程序,相對於在一般IDE裡面打上斷點然後啟動debug,

[python]view plaincopy print?
  1. if__name__=="__main__":
  2. a=1
  3. importpdb
  4. pdb.set_trace()
  5. b=2
  6. c=a+b
  7. print(c)

正常運行腳本後,到了pdb.set_trace()那就會定下來,就可以看到調試的提示符(Pdb)了

一些常用指令:

h(elp)[comman] #打印可用指令及幫助信息

r(eturn) #運行代碼直到下一個斷點或當前函數返回

b(reak)[[filename:]lineno | function[, condition]] #指定文件某行或函數體來設置斷點

l(ist)[first[, last]] #查看指定代碼段

n(ext) #執行下一行

s(tep)#執行下一行,若為函數則進入函數體

p #打印某個變量

a(rgs) #打印當前函數的參數

w(here) #打印堆棧信息

d(own) #移至下層堆棧

u(p) #移至上層堆棧

j(ump) #跳轉到指定行

continue / c #繼續執行

disable [bpnumber [bpnumber]]#失效斷點

enable[bpnumber [bpnumber]] #啟用斷點

cl(ear)[filename:lineno | bpnumber [bpnumber]] #刪除斷點

q(uit)/exit #中止調試並退出

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved