python的pdb有什么调试命令?python的pdb调试命令介绍

  • A+
所属分类:百科知识

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调试命令介绍”演示过程了,看完这个教程你学会了么。

</stoplineno,不会中断。直到for循环执行结束,紧接着的下一行的lineno==stoplineno,执行中断>

大家都在看:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: