中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中的pdb如何使用

發布時間:2022-05-20 16:18:06 來源:億速云 閱讀:207 作者:iii 欄目:大數據

這篇文章主要介紹“python中的pdb如何使用”,在日常操作中,相信很多人在python中的pdb如何使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中的pdb如何使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、pdb啟動。

當前frame綁定跟蹤函數trace_dispatch。

def trace_dispatch(self, frame, event, arg):
     if self.quitting:
         return # None
     if event == 'line':
         return self.dispatch_line(frame)
     if event == 'call':
         return self.dispatch_call(frame, arg)
     if event == 'return':
         return self.dispatch_return(frame, arg)
     if event == 'exception':
     ...

2、每一幀不同事件的處理都會經過中斷控制邏輯。

主要是stop_here(line事件也會經過break_here)函數,處理后決定代碼是否中斷,需要中斷到哪一行。

如果需要中斷,觸發子類方法user_#event。

子類可以通過interaction更新棧幀信息,并在控制臺上打印相應的信息,然后執行cmdloop,使控制臺等待交互輸入。

def interaction(self, frame, traceback):
     self.setup(frame, traceback) # 當前棧、frame、local vars
     self.print_stack_entry(self.stack[self.curindex])
     self.cmdloop()
     self.forget()

3、用戶輸入調試命令。

如next并返回汽車時,他們將首先調用set_#命令,設置stopframe、returnframe和stoplineno,這將影響中斷控制的邏輯,從而決定運行到下一幀的中斷結果。

4、調試過程控制類的命令。

一般do_#命令都會返回1,這樣這次runloop馬上就結束了,下一次運行到某一幀觸發中斷會再次啟動runloop(見步驟3);對信息獲取類的命令,do_#命令沒有返回值,以保持目前的中斷狀態。

5、代碼運行到下一幀,重復步驟3。

到此,關于“python中的pdb如何使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来凤县| 彩票| 德化县| 攀枝花市| 建瓯市| 沧州市| 昆明市| 文化| 文登市| 康乐县| 邻水| 观塘区| 资溪县| 合水县| 当涂县| 崇明县| 白水县| 土默特右旗| 大田县| 云安县| 历史| 忻州市| 霍邱县| 那坡县| 仁怀市| 乳源| 乌鲁木齐县| 额尔古纳市| 东明县| 乐清市| 巴里| 将乐县| 玉田县| 伊宁县| 祁东县| 浑源县| 米林县| 珠海市| 教育| 平和县| 东源县|