当前位置: 首页 > news >正文

织梦网站怎么关闭手机模板海兴县建设工程招标信息网站

织梦网站怎么关闭手机模板,海兴县建设工程招标信息网站,免费制作开业宣传视频,旅游网站建设网站文章目录 1. 启动 pdb 调试器1.1 在代码中插入断点1.2 使用命令行直接调试脚本 2. 常用调试命令2.1 基本命令2.2 高级命令2.3 断点操作 3. 调试过程示例4. 调试技巧4.1 条件断点4.2 自动启用调试4.2.1 运行程序时指定 -m pdb4.2.2在代码中启用 pdb.post_mortem4.2.3 使用 sys.e… 文章目录 1. 启动 pdb 调试器1.1 在代码中插入断点1.2 使用命令行直接调试脚本 2. 常用调试命令2.1 基本命令2.2 高级命令2.3 断点操作 3. 调试过程示例4. 调试技巧4.1 条件断点4.2 自动启用调试4.2.1 运行程序时指定 -m pdb4.2.2在代码中启用 pdb.post_mortem4.2.3 使用 sys.excepthook 全局捕获异常 4.3 配合 ipdb 使用 5. 高级用法 bt5.1. bt 命令作用5.2 示例代码5.3. 常见用法5.4 示例结合 bt 和 up/down pdb 是 Python 内置的交互式调试工具可以帮助开发者逐步调试代码、查看变量、分析问题。以下是 pdb 调试器的详解包括用法、常见命令及技巧 1. 启动 pdb 调试器 1.1 在代码中插入断点 通过 pdb.set_trace() 设置断点程序运行到此处时会暂停并进入调试模式。 import pdbdef example_function():x 10y 20pdb.set_trace() # 设置断点z x yprint(fResult: {z})example_function()运行程序后会暂停在set_trace()处进入交互式调试模式。 1.2 使用命令行直接调试脚本 通过 -m pdb 启动脚本进入调试模式 python -m pdb script.py程序会在脚本的第一行暂停可以逐步执行代码。 运行脚本时加上 -m pdb 参数发生异常时会自动进入调试模式 python -m pdb script.py或者在代码中引入 import pdb pdb.pm() # 在异常后调用进入调试模式正常运行 script.py。如果程序中发生异常pdb 会捕获它并进入调试模式。你可以直接使用调试命令比如 bt 查看调用栈或者 l 查看代码。 2. 常用调试命令 2.1 基本命令 2.2 高级命令 2.3 断点操作 (1) 设置断点 b 12 # 在第 12 行设置断点 b example_function # 在函数 example_function 的入口处设置断点 b path/script.py:15 # 在 script.py 的第 15 行设置断点(2)查看断点 b # 列出所有断点及其状态(3)清除断点 cl 1 # 清除断点编号 1 cl # 清除所有断点(4)启动、关闭断点 disable 7 # disable breakpoint 7 enable 7 # enable breakpoint 7(5)条件断点 b path/script.py:20, x 10 # 在第 script 脚本的第20 行设置断点只有 x 10 时断点才生效3. 调试过程示例 假设以下代码存在问题 def add_numbers(a, b):result a breturn resultdef main():x 10y 20 # Bug: y 是字符串类型z add_numbers(x, y)print(fThe result is {z})main()我们可以用 pdb 调试 添加断点的方式 将 pdb.set_trace() 添加到代码中 def add_numbers(a, b):result a breturn resultdef main():x 10y 20pdb.set_trace() # 在此处调试z add_numbers(x, y)print(fThe result is {z})main()运行程序并调试 python script.py调试流程 程序暂停在 set_trace()输入 n 执行下一行代码。使用 p x 和 p y 查看变量值。当执行到 add_numbers 时输入 s 进入函数逐步查看函数内部。如果确定错误原因输入 q 退出调试。 通过命令行调试 直接运行调试命令 python -m pdb script.py调试流程 程序在第一行暂停输入 c 跳到程序出错处。出现异常时自动进入调试模式输入w查看调用栈。使用p查看变量值定位问题。 4. 调试技巧 4.1 条件断点 在某些复杂情况下只在特定条件下暂停 b 10, x 50例如当变量 x 大于 50 时才会触发断点。 4.2 自动启用调试 4.2.1 运行程序时指定 -m pdb 运行 Python 脚本时加上 -m pdb会在发生异常时自动进入调试模式。 python -m pdb script.py正常运行 script.py。如果程序中发生异常pdb 会捕获它并进入调试模式。你可以直接使用调试命令比如 bt 查看调用栈或者 l 查看代码。 4.2.2在代码中启用 pdb.post_mortem 在代码中通过捕获异常并调用 pdb.post_mortem()让程序在异常发生后自动进入调试模式 示例代码 import pdbdef faulty_function():x 1 / 0 # 人为制造一个异常try:faulty_function() except Exception:pdb.post_mortem()工作原理 当 faulty_function 发生异常时程序会捕获 Exception。调用 pdb.post_mortem()进入异常发生时的调试模式。在调试模式中可以查看变量值、调用栈等。 4.2.3 使用 sys.excepthook 全局捕获异常 通过覆盖 Python 的全局异常处理机制任何未捕获的异常都会触发 pdb 调试。 示例代码 import pdb import sysdef custom_excepthook(exc_type, exc_value, exc_traceback):print(fUncaught exception: {exc_type.__name__}: {exc_value})pdb.post_mortem(exc_traceback)# 设置全局异常处理 sys.excepthook custom_excepthook# 测试代码 def faulty_function():x 1 / 0 # 人为制造一个异常faulty_function()工作原理 覆盖sys.excepthook后任何未捕获的异常都会调用 custom_excepthook。在 custom_excepthook 中使用 pdb.post_mortem 进入调试模式。可以调试程序查看异常发生的原因和调用栈。 如果你想全局捕获异常并自动进入调试模式sys.excepthook 是更灵活的解决方案。如果只需简单调试单个脚本用 python -m pdb 即可。在异常点进入调试推荐用 pdb.post_mortem。 4.3 配合 ipdb 使用 ipdb 是 pdb 的增强版本提供更友好的界面和支持代码自动补全 pip install ipdb使用方法与 pdb 相同 import ipdb ipdb.set_trace()pdb 是一个强大的调试工具通过熟练使用断点、单步执行、调用栈分析等功能可以帮助快速定位和解决问题。 5. 高级用法 bt 在 pdb 调试器中bt 是 backtrace回溯调用栈 的缩写用来显示当前程序的 调用栈包括函数的调用顺序、行号、文件等信息。 5.1. bt 命令作用 用途: 显示程序执行到当前断点或出错位置时的调用栈。 场景: 调试程序时查看函数调用路径。分析异常发生的上下文。 调用栈显示的信息 从主函数或脚本入口到当前代码位置的调用路径。每一层的调用函数名、文件名和行号。 5.2 示例代码 以下是一个示例程序含多个函数嵌套调用模拟一个异常场景 def level1():level2()def level2():level3()def level3():x 10y 0result x / y # 人为制造一个异常def main():level1()if __name__ __main__:main()当运行程序时会因 ZeroDivisionError 报错。 使用 bt 查看调用栈 (1) 启动程序并进入调试模式 启动程序并在异常发生时自动进入调试模式 python -m pdb script.py(2) 异常发生后自动进入调试器 输出类似以下信息 Traceback (most recent call last):File script.py, line 14, in modulemain()File script.py, line 12, in mainlevel1()File script.py, line 2, in level1level2()File script.py, line 5, in level2level3()File script.py, line 9, in level3result x / y ZeroDivisionError: division by zeroFile script.py, line 9, in level3(3) 输入 bt 查看调用栈 在调试器提示符下输入 bt (Pdb) bt输出如下 Traceback (most recent call last):File script.py, line 14, in modulemain()File script.py, line 12, in mainlevel1()File script.py, line 2, in level1level2()File script.py, line 5, in level2level3()File script.py, line 9, in level3result x / ybt 输出解析 调用顺序 从底部到顶部依次列出函数调用的路径。每一层信息 File “script.py”, line 5, in level2文件名、行号、函数名。result x / y错误发生的代码上下文。 5.3. 常见用法 在异常发生时分析调用路径 如果程序抛出了异常可以用 bt 命令查看是在哪一层函数中出现了问题从而快速定位问题。 分析深层嵌套调用 如果程序包含多层函数调用bt 可以帮助明确每一层函数调用的顺序以及当前所处的位置。 结合上下文调试 使用 up/down 命令上下移动调用栈查看不同层级的变量值。 使用 l 查看特定调用层的代码。 相关命令 5.4 示例结合 bt 和 up/down 继续调试前面例子的代码 (Pdb) bt Traceback (most recent call last):File script.py, line 14, in modulemain()File script.py, line 12, in mainlevel1()File script.py, line 2, in level1level2()File script.py, line 5, in level2level3()File script.py, line 9, in level3result x / y(1) 使用 up 进入上一层函数 level3 (Pdb) upFile script.py, line 5, in level2 level3()(2) 查看 level3 的上下文代码 (Pdb) l 4 def level2(): 5 - level3()(3) 使用 down 返回当前函数栈 (Pdb) downFile script.py, line 9, in level3 result x / y bt 是调试调用栈的核心命令可以快速分析程序运行路径尤其适用于深层嵌套和异常场景。结合 up/down 和 l 可以更深入了解上下文和变量状态。使用这些工具可以高效地调试 Python 程序快速定位和修复问题 - 在指定的文件设置断点: b /dataset/private_data/dataset.py:509 #(在dataset.py 的第509行设置断点)- b # 显示所有断点- n # next- c # 跳到下一个断点- s # 进入函数- r # 执行代码直到从当前函数返回- cl # 删除所有断点- p # 查看变量值- q # quit- disable 7 # disable breakpoint 7- enable 7 # enable breakpoint 7
http://www.hkea.cn/news/14333539/

相关文章:

  • 万网网站流量域名怎么解析到服务器上
  • 湘潭网站建设 磐石网络在哪购物网站排名2015
  • 铭誉摄影网站深圳常桉网站建设
  • 江苏建设监理协会官方网站如何开启wordpress mu
  • 免费的建站平台关于企业网站开发与设计论文
  • wp网站建设中国网站的特点
  • 江苏网站推广公司哪家好网站规划的主要内容
  • 做动态图的网站查域名备案信息
  • 什么网站可以免费做视频软件做平台网站一般有php还是js
  • 平台网站做等级保护测评无锡 做公司网站
  • 吉首公司网站找谁做菜鸟建网站
  • seo建站优化推广云端网络网站
  • 网站tag页面如何做如何注册有限公司
  • 用手机建网站广告公司简介模板及介绍
  • 怎样免费建立个人网站自己做网站怎么样
  • 可以在哪个网站做封面赚钱新媒体一键发布平台
  • 做网站是互联网开发吗为什么做金融网站犯法
  • 做一个简单的公司网站要多少钱做网站赚广告
  • 游戏网站排行凡科快图官网登录入口
  • python购物网站开发流程商机加盟好项目
  • 上海专业做网站公司装饰网站模板下载
  • 购物网站开题报告班级手机网站墨刀怎样做
  • 锦州建设局网站app推广工作是做什么的
  • 网站域名查询工具网站建设解说词
  • 网站建设提供资料表宝安网站建设哪家便宜
  • php做的网站模版本溪北京网站建设
  • 网站服务器主机配置最好的网站开发工具
  • 宁波如何建网站怎么利用QQ空间给网站做排名
  • 万江仿做网站网站开发 合作协议
  • 沈阳seo网站推广未来 网站开发 知乎