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<stoplineno,不会中断。直到for循环执行结束,紧接着的下一行的lineno==stoplineno,执行中断
if frame is self.stopframe:
if self.stoplineno == -1:
return False
return frame.f_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学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
以上是 python中pdb有哪些调试命令 的全部内容, 来源链接: utcz.com/z/546024.html