知行编程网知行编程网  2022-11-18 12:30 知行编程网 隐藏边栏  14 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中pdb的中断控制的相关知识,包括python -m,以及python调用这些编程知识,希望对大家有参考作用。

python中pdb的中断控制

1、根据用户输入的调试命令,pdb会在跟踪帧的每一步时进行中断控制,决定下一步是否中断,中断哪一行。

2、stop_here是中断控制的主要方法。

中断控制是指在输入不同的调试命令后,代码可以执行到正确的位置,等待用户输入。例如,输入 s 的控制台应该在运行帧的下一个代码处停止,输出 c 需要运行到下一个断点。在sys.settrace的每一步trace中,中断控制是调试操作的核心逻辑。


实例

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


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享