小编给大家分享一下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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。