python的調試技巧

1. print
這是最簡單的調試方法,直接顯示程序數據。即便是調試Java或者C這種巨麻煩的編譯語言,print仍然是常用工具。當然,我們講的是Python,是比Java和C要方便100倍的動態解釋語言,因此這個print就更有力了。

2.使用IDLE的調試器

在“Python Shell”窗口中單擊“Debug”菜單中的“Debugger”菜單項,就可以啓動IDLE的交互式調試器。這時,IDLE會打開“Debug Control”窗口,並在“Python Shell”窗口中輸出“[DEBUG ON]”並後跟一個“>>>”提示符。這樣,我們就能像平時那樣使用這個“Python Shell”窗口了,只不過現在輸入的任何命令都是允許在調試器下。我們可以在“Debug Control”窗口查看局部變量和全局變量等有關內容。如果要退出調試器的話,可以再次單擊“Debug”菜單中的“Debugger”菜單項,IDLE會關閉“Debug Control”窗口,並在“Python Shell”窗口中輸出“[DEBUG OFF]”。
Go:繼續。Step,Over:單步執行。Step將進入到函數內部進行調試,Over是指不進入到函數內部進行調試,而是直接執行完這個函數。

例如:

import sys, os
def test(arg1, arg2):
    print "begin test..."
    fun1('1', '2')
    print arg1
    print arg2

def fun1(arg1, arg2):
    print arg1
    print arg2
   

調試

>>> 
[DEBUG ON]
>>> test(2,3)
begin test...
1
2
2
3
[DEBUG ON]

在打開調試器的情況下,也可設置斷點調試。

3.pdb調試

pdb 是 python 自帶的一個包,爲 python 程序提供了一種交互的源代碼調試功能,主要特性包括設置斷點、單步調試、進入函數調試、查看當前代碼、查看棧片段、動態改變變量的值等。pdb 提供了一些常用的調試命令。

命令 解釋
break 或 b 設置斷點 設置斷點
continue 或 c 繼續執行程序
list 或 l 查看當前行的代碼段
step 或 s 進入函數
return 或 r 執行代碼直到從當前函數返回
exit 或 q 中止並退出
next 或 n 執行下一行
pp 打印變量的值
help 幫助
http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/中有詳細的介紹。

4.利用reload,exec,eval,python -i調試,具體用法見

http://bbs.chinaunix.net/thread-1257503-1-1.html

發佈了28 篇原創文章 · 獲贊 11 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章