python指令碼調試

來源:互聯網
上載者:User

在python中使用pdb模組可以進行調試

import pdb

pdb.set_trace()

也可以使用python -m pdb mysqcript.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 #查看全部棧內變數

(Pdb)w 列出目前call stack 中的所在層。

(Pdb)d 在call stack中往下移一層

(Pdb)u 在call stack中往上移一層。如果在上移一層之後按下 n ,則會在上移之後的一層執行下一個敘述,之前的 function call 就自動返回。

(Pdb)cl 清除指定的斷點。如果沒有帶參數,則清除所有斷點。

(Pdb)disable 取消所有斷點的功能,但仍然保留這些斷點。

(Pdb)enable 恢複斷點的功能。

(Pdb)ignore 設定斷點的忽略次數。如果沒指定 count,其初始 為 0。當 count 為 0 時,斷點會正常動作。若有指定 count,則每次執行到該中斷, count 就少 1,直到 count 數為 0。

(Pdb)condition bpnumber [condition]

(Pdb)j(ump) lineNo. 跳到某行執行。只有在 call stack 的最底部才能作用。

(Pdb)l 列出目前所在檔案中的位置。連續地 l 命令會一直列到檔案結尾,可以使用指定行數或範圍來列印。

(Pdb)pp 和 p 命令類似,但是使用 pprint module(沒用過 pprint,詳情請參考 Python Library Reference)。

(Pdb)alias 以一個”別名”代替”一群除錯命令”,有點類似 c/c++ 的 macro(詳情請參考 Python Library Reference)。

(Pdb)unalias 取消某個 alias。

(Pdb)[!]statement 在目前的環境(context)中執行敘述

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.