千家信息网

python中pdb有什么调试命令

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍python中pdb有什么调试命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、next执行下一条语句,如果本句是函数调用,则执行函数,接着执行当前执行语句
千家信息网最后更新 2025年01月20日python中pdb有什么调试命令

这篇文章主要介绍python中pdb有什么调试命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、next执行下一条语句,如果本句是函数调用,则执行函数,接着执行当前执行语句的下一条。

def stop_here(self, frame):        ...        # 如果frame还没跳出stopframe,永远返回true        if frame is self.stopframe:            if self.stoplineno == -1:                return False            return frame.f_lineno >= self.stoplineno          # 如果frame跳出了stopframe,进入下一个frame,则执行不会中断,一直到跳出到stopframe        # 还有一种情况,如果在return事件中断执行了next,下一次跟踪在上一级frame中,此时上一级frame能跟踪到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

2、step执行下一条命令,如果本句是函数调用,则s会执行到函数的第一句。

def stop_here(self, frame):        ...        # stopframe为None        if frame is self.stopframe:            ...        # 当前frame一定会追溯到botframe,返回true        while frame is not None and frame is not self.stopframe:            if frame is self.botframe:                return True            frame = frame.f_back        return False

3、return执行当前运行函数到结束。

def stop_here(self, frame):        ...        # 如果当前帧代码顺序执行,下一个frame的lineno==stoplineno        # 如果执行到for循环的最后一行,下一个frame(for循环第一行)的lineno= self.stoplineno          # 如果在非botframe中,会先追溯到stopframe,返回false,同next        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有什么调试命令"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0