今天小編給大家分享一下python中pdb的中斷控制怎么實現(xiàn)的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
西寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
1、根據(jù)用戶輸入的調(diào)試命令,pdb在跟蹤frame的每一步時都會進(jìn)行中斷控制,決定下一步是否中斷,中斷到哪一行。
2、stop_here是中斷控制的主要方法。
中斷控制是指在輸入不同的調(diào)試命令后,代碼可以執(zhí)行到正確的位置,等待用戶輸入。例如,輸入s控制臺應(yīng)該在下一個運行frame的代碼處停止,輸出c需要運行到下一個中斷點。在sys.settrace的每一步跟蹤中,中斷控制是調(diào)試運行的核心邏輯。
實例
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:當(dāng)前只要追溯到botframe,就等待執(zhí)行。 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的中斷控制怎么實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。