全网超适用的Debug调试能力汇总
副问题[/!--empirenews.page--]
一、思索 ![]() 1、什么是debug ● 找茬 ◆ 找软件的茬 ◆ 发明措施的缺陷 2、为什么必要debug? ![]() ● 谁都不敢担保,写的代码没有任何题目 ● 高效查找软件非常 ● 一位优越的开拓工程师 ◆ 20%的时刻写代码 ◆ 80%的时刻用来排错 “不会debug” == “不会代码” == “低人为” 3、debug必要具备哪些成果? ![]() ● 节制措施的执行 ◆ 想停则停,想执行则执行 ◆ 为所欲为 ● 配置断点 ◆ 在指定位置遏制 ● 查察当前定名空间(措施栈)中变量 二、Python中的Debug大法 案例代码如下所示: 建设deubg_skills_demo.py文件 ![]() ![]() ![]() 建设gifts.py文件 ![]() 1、Pdb操纵 ![]() ● 体系自带的debug器材(无需安装) ● 将以下代码放在必要调试的处所(相同于配置断点) ![]() ● 当措施执行到上述代码地址位置时,会自动开启一个console终端 ◆ "->"是接下来要执行的代码(当前还未执行) ![]() ● 可以在终端运行的呼吁 ◆ list可能l ◆ 表现当前运行的代码 ◆ 默认列出11行代码 ![]() ● p变量名可能p必要运行的表达式 ◆ 打印变量的值 ![]() ● step可能s ◆ 假如在函数挪用处执行,则会进入函数体内部 ![]() ![]() ● next可能n ◆假如在函数挪用处执行,则不会进入函数体内部 ![]() ● enter ◆ 一再执行上一次的呼吁 ● b(reak) [ ([filename:]lineno | function) [, condition] ] ◆ 配置断点 ◆ filename可选,假如不传,默认在当前文件配置断点 ![]() ![]() ● c可能continue ◆ 继承往下运行,在下一个断点处停下来 ![]() ● disable断点编号 ◆ 禁用断点 ![]() ● enable断点编号 ◆ 启用断点 ● cl可能clear 断点编号 ◆ 破除断点 ![]() ● display可能undisplay 变量 ◆ 监听可能不监听某个变量 ◆ 假如变量值改变,会自动表现 ![]() ● h可能help ◆ 辅佐信息 ![]() ● h详细呼吁 ◆ 详细呼吁的辅佐文档 ● h pdb ◆ pdb的完备文档 三、Pycharm debug操纵 ![]() 1、打开Python Prompt ![]() 会呈现一个ipython的节制台 ● 可在节制台查察当前定名空间中的变量 ● 也可执行Python表达式 ![]() 2、Step Over/F8 ● 按调试器材栏中的 ![]() ● 相同于pdb中的next ● 措施不会进入到函数体内部 3、Step Into/F7 ● 按调试器材栏中的 ![]() ● 相同于pdb中的step ● 措施会进入到函数(要领)体内部、体系源码、第三方模块源码中 4、Step Out/Shift+F8 ● 从函数体内部跳出 ![]() 5、Step Into My Code Step Into My Code / ALT+Shift+F7 ● 按调试器材栏中的 ![]() ● 首要存眷本身写的代码 ● 从体系源码、第三方模块源码中跳到本身写的代码中 6、Evaluate Expression ![]() ● 在当前定名空间内计较表达式的值 7、Quick Evaluate Expression (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |