Skip to content

Latest commit

 

History

History
120 lines (83 loc) · 2.48 KB

183-1134710-函数的调试过程_pdb3_跳转到函数.sy.md

File metadata and controls

120 lines (83 loc) · 2.48 KB
show version enable_checker
step
1.0
true

函数

回忆

  • 上次我们定义了函数
    • 函数就是一个套路、流程、惯用方法
    • 我们可以把他定义出来
    • 然后再调用
  • 调用函数
    • 定义函数就是把相关的代码封装到一个函数里面
    • 以后只要调用函数
    • 相关的代码
    • 就从头到尾地执行了

图片描述

  • 这个函数可以调试么?

调试过程

def sorry():
    print("老婆我错了")
    print("都是我不好")

sorry()
  • w|!pdb3 %
    • 进行调试

图片描述

  • 从第一句 之后
    • 直接跳转到 第5句
  • 为什么会这样呢?

直接跳转

范围 作用
从1到3句 函数定义
第4句 函数调用

图片描述

  • 调用之后
    • 输出两句
    • 完成之后 就退出了
  • 可以 调试进入第二句吗?

设置断点

  • 可以用断点进入函数体

图片描述

  • 还有其他方法吗?

步进 step

  • 使用 s 可以
    • 从函数 调用的地方
    • 进入 函数定义的地方
    • 出现了Call

图片描述

  • s是什么意思呢?

查询帮助

  • s就是 step 步进

图片描述

命令 作用
step 一步步调试
进入函数内部
next 完成本行函数调用
不进入函数内部

执行三遍

图片描述

  • 把第五句执行函数的语句
  • 复制出三行来
  • 可以么?
  • 试试

执行结果

图片描述

  • 好像确实可以
  • 就像我们调用print或者input函数一样
  • 可以调用我们自定义的函数
  • 走一个流程

总结🤔

  • 这次我们 调试了 函数定义和调用
    • 可以使用step 命令
    • 步进 进入 函数内部
    • 进行调试
  • 函数一旦定义好
    • 可以进行多次调用

图片描述

  • 可以在函数里面
    • 做一些输出
      • 明示 运行流程么?
  • 下次再说!👋