python的断点调试
生活随笔
收集整理的這篇文章主要介紹了
python的断点调试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
http://http://control.blog.sina.com.cn/admin/article/article_add.php
python的斷點調試(轉自:http://control.blog.sina.com.cn/admin/article/article_add.php)
pdb這個功能好牛啊,可以在命令行設置也可以在程序里用語句設置斷點命令行:$ python -m pdb 1.py程序里: 引入pdb包import pdb def main():i, sum = 1, 0for i in xrange(100):sum = sum + ipdb.set_trace()print sum if __name__ == '__main__':main()命令 | 用途 break 或 b 設置斷點 continue 或 c 繼續執行程序 list 或 l 查看當前行的代碼段 step 或 s 進入函數 return 或 r 執行代碼直到從當前函數返回 exit 或 q 中止并退出 next 或 n 執行下一行 pp 打印變量的值 help 幫助首先你選擇運行的 pypython -m pdb myscript.py(Pdb) 會自動停在第一行,等待調試,這時你可以看看 幫助(Pdb) h說明下這幾個關鍵 命令>斷點設置 (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 #查看全部棧內變量>如果是在 命令行里的調試為:import pdbdef tt():pdb.set_trace()for i in range(1, 5):print i>>> tt()#這里支持 n p c 而已> <stdin>(3)tt()(Pdb) n--------------------------------------------------------附一些有用的調試命令:w(here) 顯式當前堆棧結構。往下的是新的,就像X86構架中的那樣。d(own) 移向新的一幀u(p) 移向舊的一幀b(reak) [([filename:]lineno | function) [, condition] ]如果沒有指定文件名則使用當前文件condition是一個字符串,必須等價于 trueThe condition argument, if present, is a string which mustevaluate to true in order for the breakpoint to be honored.tbreak [([filename:]lineno | function) [, condition] ]臨時的breakpointcl(ear) [bpnumber [bpnumber ...]]空格進行分割,清除這些斷點disable bpnumber [bpnumber ...]disable 斷點,可以enable之后ignore bpnumber count設置某個斷點的count,當count為0的時候斷點狀態為active,count不為0的時候每一次進入斷點時候count自減condition bpnumber conditions(tep) 單步執行,步入n(ext) 單步執行,步過函數c(ont(inue)) 執行直到斷點l(ist) [first [,last]]列出11行附近的代碼a(rgs)打印出當前函數的參數p expression答應表達式的值(!) statement執行statementwhatis arg答應 arg 的類型q(uit)轉載于:https://my.oschina.net/annieduoduo/blog/71398
總結
以上是生活随笔為你收集整理的python的断点调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将Mac OS X从Snow Leopa
- 下一篇: 专家谈家教中的心理健康教育