linux調試python

來源:互聯網
上載者:User
python  linux調試 

python是動態語言,編譯器檢查不到運行時的文法問題,而這些低級問題常常造成調試效率很低。之前在linux伺服器上調試,都是通過print和異常報錯來排查,簡直弱爆了。python內建的pdb正是調試的利器。

我們先建立一個測試指令碼:Shell代碼  

  1. touch debug.py  

內容:Shell代碼  

  1. print "hello"  
  2.   
  3. i = 0  
  4. for j in range(10):  
  5.     i += j  
  6. print i  

常用命令說明:
l #查看運行到哪行代碼
n #單步運行,跳過函數
s #單步運行,可進入函數
p 變數 #查看變數值
b 行號 #斷點設定到第幾行
b #顯示所有斷點列表
cl 斷點號 #刪除某個斷點
cl #刪除所有斷點
c #跳到下一個斷點
r #return當前函數
exit #退出
更多的命令http://docs.python.org/library/pdb.html

調試過程:Shell代碼  

  1. [co_ad2@localhost ~]$ python -m pdb debug.py  
  2. > /home/co_ad2/debug.py(1)<module>()  
  3. -> print "hello"  
  4. (Pdb) l  
  5.   1  ->     print "hello"  
  6.   2        
  7.   3       i = 0  
  8.   4       for j in range(10):  
  9.   5           i += j  
  10.   6       print i  
  11. [EOF]  
  12. (Pdb) n  
  13. hello  
  14. > /home/co_ad2/debug.py(3)<module>()  
  15. -> i = 0  
  16. (Pdb) n  
  17. > /home/co_ad2/debug.py(4)<module>()  
  18. -> for j in range(10):  
  19. (Pdb) n  
  20. > /home/co_ad2/debug.py(5)<module>()  
  21. -> i += j  
  22. (Pdb) p i  
  23. 0  
  24. (Pdb) p j  
  25. 0  
  26. (Pdb) n  
  27. > /home/co_ad2/debug.py(4)<module>()  
  28. -> for j in range(10):  
  29. (Pdb) n  
  30. > /home/co_ad2/debug.py(5)<module>()  
  31. -> i += j  
  32. (Pdb) p i  
  33. 0  
  34. (Pdb) p j  
  35. 1  
  36. (Pdb) n  
  37. > /home/co_ad2/debug.py(4)<module>()  
  38. -> for j in range(10):  
  39. (Pdb) n  
  40. > /home/co_ad2/debug.py(5)<module>()  
  41. -> i += j  
  42. (Pdb) p i  
  43. 1  
  44. (Pdb) p j  
  45. 2  
  46. (Pdb) b 6  
  47. Breakpoint 1 at /home/co_ad2/debug.py:6  
  48. (Pdb) c  
  49. > /home/co_ad2/debug.py(6)<module>()  
  50. -> print i  
  51. (Pdb) p i  
  52. 45  
  53. (Pdb) n  
  54. 45  
  55. --Return--  
  56. (Pdb) exit

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.