您好,登錄后才能下訂單哦!
小編給大家分享一下python中pdb如何中斷控制,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、根據用戶輸入的調試命令,pdb在跟蹤frame的每一步時都會進行中斷控制,決定下一步是否中斷,中斷到哪一行。
2、stop_here是中斷控制的主要方法。
中斷控制是指在輸入不同的調試命令后,代碼可以執行到正確的位置,等待用戶輸入。例如,輸入s控制臺應該在下一個運行frame的代碼處停止,輸出c需要運行到下一個中斷點。在sys.settrace的每一步跟蹤中,中斷控制是調試運行的核心邏輯。
實例
def stop_here(self, frame): # (CT) stopframe may now also be None, see dispatch_call. # (CT) the former test for None is therefore removed from here. if self.skip and \ self.is_skipped_module(frame.f_globals.get('__name__')): return False # next if frame is self.stopframe: # stoplineno >= 0 means: stop at line >= the stoplineno # stoplineno -1 means: don't stop at all if self.stoplineno == -1: return False return frame.f_lineno >= self.stoplineno # step:當前只要追溯到botframe,就等待執行。 while frame is not None and frame is not self.stopframe: if frame is self.botframe: return True frame = frame.f_back return False
以上是“python中pdb如何中斷控制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。