python中pdb调试的命令是什么-成都快上网建站

python中pdb调试的命令是什么

这篇文章主要介绍“python中pdb调试的命令是什么”,在日常操作中,相信很多人在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调试的命令是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文名称:python中pdb调试的命令是什么
标题链接:http://kswjz.com/article/pccipd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流