、思考❓❔

1.什么是debug?

  • 找茬
    • 找软件的茬
  • 发现程序的缺陷

 

2.为什么需要debug?

  • 谁都不敢保证,写的代码没有任何问题
  • 高效查找软件异常
  • 一位优秀的开发工程师
    • 20%的时间写代码
    • 80%的时间用来排错
  • “不会debug” == “不会代码” == “低工资”

 

3.debug工具需要具备哪些功能?

  • 控制程序的执行
    • 想停则停,想执行则执行
    • 随心所欲
  • 设置断点
    • 在指定位置停止
  • 查看当前命名空间(程序栈)中变量

 

二、Python中的Debug大法📐

案例代码如下所示:

创建deubg_skills_demo.py文件

import time  from DebugSkills.gifts import send_gift   def say_love(name, talk):     print(f"{name}: {talk}!")     print(show(3))     print(f"{send_gift()}, 能代表我的心!")   def show(num):     print(f"{'轰隆' * num}!")     print(f"{'⚡' * num}")     return "还敢再发誓吗?"   def long_long_ago(name, talk):     # breakpoint()     print("\nlong long ago...")     print("当初没被雷劈死的原因既然是爱错了那个她/他")     print(f"{name}: {talk}!")     print(show(4))     print(f"{send_gift()}, 能代表我的心!")   if __name__ == '__main__':     lover = input("请输入你爱的人: ")     love_talk = input("请输入爱的箴言: ")     # 方法一:     # import pdb     # pdb.set_trace()      # 方法二:     # breakpoint()     breakpoint()     say_love(lover, love_talk)     time.sleep(5)     lover = input("\n请输入你爱的人: ")     love_talk = input("请输入爱的箴言: ")     long_long_ago(lover, love_talk) 

 

创建gifts.py文件

import random  gifts = ["99朵玫瑰", "钻戒", "马尔代夫三十日游",          "北京二环内的一套厕所", "玛莎拉蒂车钥匙",          "免费自行车司机"]   def send_gift():     """     送礼物     :return:     """     one_gift = random.choice(gifts)     return one_gift 

 

1.pdb操作 (^_-)-☆

  • 系统自带的debug工具(无需安装)

  • 将以下代码放在需要调试的地方(类似于设置断点)

    # 通用方法 import pdb; pdb.set_trace()  # Python3.6以上版本 breakpoint()