python培训之pdb有哪些调试命令

发布时间:2022-12-15 09:32:05 人气:90 作者:多测师

  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

python培训之pdb有哪些调试命令

  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

  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学习指路:请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线