前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[oeasy]python0030_动态控制断点_breakpoints_debug_调试

[oeasy]python0030_动态控制断点_breakpoints_debug_调试

原创
作者头像
oeasy
发布于 2024-08-19 10:14:58
发布于 2024-08-19 10:14:58
13900
代码可运行
举报
运行总次数:0
代码可运行

030_动态控制断点_breakpoints_debug_调试290 播放 · 0 赞同视频

点击可播放视频
点击可播放视频

设置断点_break_point_continue_运行到断点 🥋

回忆上次内容

  • py文件 是
  • 按照顺序一行行执行的
  • 可以通过until命令
  • 直接跳转到某行
  • 也可以通过continue命令
  • 一路到底

添加图片注释,不超过 140 字(可选)

  • 还可以使用breakpoint()
  • 在程序中 设置断点
  • 然后配合continue
  • 一下子跳到断点位置
  • 断点breakpoint 位置
  • 是需要提前设置好的
  • 可以 在调试过程中
  • 动态地设置 或者 取消断点吗?🤔

恢复环境

  • 我们要把一行行执行的代码
  • 变成一段段执行的代码
  • 如果 上次运行的 guido.py 没有了
  • 就复制 下面这个
  • 然后放到网上系统的剪贴板上
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("1982------Guido in cwi")


print("1995------Guido in cnri")


print("2000------Guido in beopen")


print("2005------Guido in google")


print("2012------Guido in dropbox")


print("2020------Guido in microsoft")
  • 注意其中第4行
  • 没有breakpoint()
  • 如果有的话需要删除

添加图片注释,不超过 140 字(可选)

  • vi guido.py
  • 进入底行命令模式
  • "+p
  • 从系统剪贴板粘贴

编辑、调试一条龙

  • 这次 在vim里面
  • 直接运行pdb3

添加图片注释,不超过 140 字(可选)

  • :w|!pdb3 %
  • : 进入底行命令模式
  • w 保存
  • | 并且
  • !pdb3 %
  • 用 外部命令pdb3
  • 运行 % 当前文件
  • 就像 :w|!python3 %
  • 保存并运行
  • 很像
  • 连调试带修改 一条龙 了

回忆命令

  • 进入pdb3之后
  • 可以用help查看已经学习的命令

添加图片注释,不超过 140 字(可选)

  • h(elp)
  • 查询帮助
  • q(uit)
  • 退出debug环境
  • n(ext)
  • 执行本行
  • 跳转到下一行
  • l(ist)
  • 列出当前执行位置
  • 一行行执行代码 太慢
  • 如何快速跳转

快速跳转

  • unt(il)
  • 跳转到某行
  • c(ont(inue))
  • 一直向前
  • 直到遇到断点
  • breakpoint

添加图片注释,不超过 140 字(可选)

  • 如何动态 打断点 呢?

查询帮助

  • 查询帮助
  • 找到 有分段作用的命令

添加图片注释,不超过 140 字(可选)

  • break在英文中是打断的意思
  • 可以用这个break命令
  • 把代码打成一段段的吗
  • 去查查 break的帮助
  • h break

设置断点

  • break 的缩写 是 b

添加图片注释,不超过 140 字(可选)

  • 可以 对于py文件的行号
  • 设置断点

动手

  • 给第5行
  • 添加了一个断(break)点(point)

添加图片注释,不超过 140 字(可选)

  • next 一下
  • 向下执行了一行
  • 那怎么 快速让流程 流到断点 呢?
  • 不会了 就查帮助
  • 看看哪个命令好使

求助帮助

  • 不同于next
  • 一行行地执行
  • 回忆上次的命令
  • continue
  • continue 可以缩写为
  • cont
  • c

添加图片注释,不超过 140 字(可选)

  • 真的可以
  • 让 流程快速流转 到 断点 吗?
  • continue一下

continue

  • continue 本该
  • 直接流到 程序结尾
  • 但是第5行
  • 有断点
  • continue 让程序
  • 直接流到 断点处

添加图片注释,不超过 140 字(可选)

  • 为什么流程
  • 不往下 继续流 了呢?

断(break)点(point)

  • 因为断点
  • 就是 截断流程的 点
  • 流程流到这里 必须断开 的 点

添加图片注释,不超过 140 字(可选)

  • 断点 就像 一个阀门(valve) [vælv]或大坝
  • 会让水流停止
  • 如果 流到断点 后
  • 我想让 流程继续(continue)向下流
  • 该如何呢?🤔

continue

  • 由于 第五行后面
  • 没有断点

添加图片注释,不超过 140 字(可选)

  • continue 会 一直流到py程序结尾
  • 把 后面两行 都输出完成
  • 然后 重新开始
  • 又 圜道 了
  • 如果这个时候 再c 呢?

流到 断点

  • 从头开始后
  • 还是会 一直流到 断点
  • 只要 断点存在
  • continue 就会 流到断点

添加图片注释,不超过 140 字(可选)

  • 遇到断点
  • 必须要 停下来
  • 能否 取消断点 呢?
  • 求助一下help帮助

clear

  • clear 清除 断点
  • cl 是clear的缩写

添加图片注释,不超过 140 字(可选)

  • 有两种清除方法
  • clear 文件名:行号
  • clear 断点编号
  • 要删除哪些断点呢?

清除断点

  • b后面不加参数
  • 可以显示所有断点

添加图片注释,不超过 140 字(可选)

  • clear guido.py:5
  • 清除 guido.py第5行的 断点
  • 清除 之后
  • 原来的断点 消失了
  • 还有一种 清除断点的方式 是如何的 呢?
  • clear断点编号

清除某个断点

  • 再在guido.py第5行
  • 建立 一个断点
  • b 5
  • 这个断点 是2号断点

添加图片注释,不超过 140 字(可选)

  • 1号断点 已经被clear了
  • 现在 断点 从2开始 编号

添加图片注释,不超过 140 字(可选)

  • clear 2
  • 可以 清除 这个2号断点
  • 断点都清空了
  • q 命令退回到vim
  • 为什么 要有断点 呢?

断点的意义

  • 被调试程序(debug) 可能非常大
  • 可能 有 万行😏
  • 想要 找到程序中的问题
  • 一步一步next 太慢

添加图片注释,不超过 140 字(可选)

  • 所以 只有通过断点
  • 才能 直接跳到 某个位置

添加图片注释,不超过 140 字(可选)

  • 就像排除线路故障
  • 需要 在中间位置 建立观测点
  • 尽快对bug定位

设置3个断点

  • 这次 调试:!pdb3 %
  • 要设置 更多断点

添加图片注释,不超过 140 字(可选)

  • 1, 3, 6行
  • 各一个断点

更多断点

  • 断点 可以把万行程序 分几段
  • 从而 分段排查问题

添加图片注释,不超过 140 字(可选)

  • 尝试删除 第2个断点

删除第2个断点

  • 先 b 列出所有的断点
  • 要删除 2号断点
  • 位于guido.py的第3行

添加图片注释,不超过 140 字(可选)

  • 删除 成功
  • 还剩 两个断点
  • 断点就是 这样玩的
  • 可以依据行号删除断点吗?

依据行号删除度断点

  • 查看帮助

添加图片注释,不超过 140 字(可选)

  • 可以根据行号删除断点

添加图片注释,不超过 140 字(可选)

  • 现在 可以更快速地
  • 进行调试(debug)了!!😁

总结

  • 这次 动态设置了 断点
  • 断点 可以把代码
  • 切成一段一段的
  • 可以 更快地调试
  • 调试的目的 是 去除 bug
  • 别害怕 bug
  • 一步步 总能找到 bug
  • 这 就是 程序员基本功
  • 调试 debug
  • 在bug出现的时候
  • 甚至还没有出现操作系统
  • 那操作系统
  • 是怎么开始有的呢??🤔
  • 我们下次再说!👋

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
请问能监控进程的网络流量吗
请问能监控进程的网络流量吗
回复回复点赞举报
推荐阅读
一款简单实用的Linux可视化监控工具——WGCLOUD
最近项目中要使用监控工具,主要想监控服务器的运行状态,以及业务系统的进程、端口、日志信息、服务接口,对比下来,选择了WGCLOUD,可以完全满足我们的需求,最重要的是它部署简单,使用方便,轻量实用,对新手极其友好
那年十八
2022/07/29
3.1K0
一款简单实用的Linux可视化监控工具——WGCLOUD
3.2k Star开源新一代极简运维监控系统,轻量高性能的分布式运维监控系统
1.v2.3.7放弃了之前版本的sigar方式获取主机指标,采用流行的OSHI组件来采集主机指标。
开源日记
2023/03/10
1.8K0
3.2k Star开源新一代极简运维监控系统,轻量高性能的分布式运维监控系统
3.4k Star国产开源新一代极简运维监控系统,轻量高性能的分布式运维监控系统
地址:http://github.com/tianshiyeben/wgcloud/
开源日记
2023/03/10
1.8K0
3.4k Star国产开源新一代极简运维监控系统,轻量高性能的分布式运维监控系统
WGCLOUD:一款极简高效的服务器主机监测工具
WGCLOUD,是一款国人开源的运维监控工具,具有轻量,高性能,分布式,部署操作简单,安全稳定等特点
那年十八
2022/09/07
3.1K0
WGCLOUD:一款极简高效的服务器主机监测工具
Linux监测进程cpu使用率、内存使用率的工具 - WGCLOUD
WGCLOUD是一款优秀的开源运维监控平台,安装部署方便,轻量实用,分布式,自动化,高性能,对主流平台兼容性好
那年十八
2022/09/17
10.6K0
Linux监测进程cpu使用率、内存使用率的工具 - WGCLOUD
分布式运维监控系统 WGCLOUD v3.3.6 全新发布 详细解读更新功能点
WGCLOUD是一款集成度较高的分布式运维监控系统,具有易部署、易上手使用、轻量、高效等特点,server端基于springboot开发,agent端使用go编写。核心模块包括:主机系统信息监控,CPU监控,CPU温度监控,内存监控,网络流量监控,磁盘IO监控,磁盘空间监测,系统负载监控,硬盘smart健康检测,应用进程监控,端口监控,docker监控,日志文件监控,文件防篡改保护,数据可视化监控,自动生成拓扑图、大屏可视化,数通设备监测,服务接口监测,web ssh堡垒机,指令下发,告警信息(邮件、钉钉、微信等)推送。
那年十八
2022/01/18
1.1K0
分布式运维监控系统 WGCLOUD v3.3.6 全新发布 详细解读更新功能点
WGCLOUD 基本使用教程【监测主机全量进程】
WGCLOUD 在新版本 v3.5.3 开始,支持采集主机的全量进程,顾名思义就是支持采集主机运行的所有进程信息
那年十八
2024/09/10
2370
WGCLOUD - 支持监测麒麟操作系统吗
WGCLOUD作为国产开源运维监控项目,对大部分国产操作平台都能很好的兼容,比如中标麒麟,银河麒麟,统信UOS,龙芯等
那年十八
2022/09/06
2.7K0
WGCLOUD - 支持监测麒麟操作系统吗
分布式架构的监控与指标
总之,监控系统是分布式系统中不可或缺的一部分。通过实时监测、警报、数据记录和分析等功能,监控系统可以帮助您确保系统的可用性、稳定性、性能、合规性和可维护性,为分布式系统的正常运行和管理提供强有力的支持。
明志德道
2023/12/31
3450
局域网服务器主机监控工具推荐——WGCLOUD
WGCLOUD是一款国人开源的服务器监测软件,轻量,性能优秀,操作使用简单,部署方便,集成度高
那年十八
2022/05/28
6.8K0
局域网服务器主机监控工具推荐——WGCLOUD
atop - 监控Linux系统资源与进程的工具
atop 是一款功能强大的用于监控 Linux 系统资源与进程的工具,以下是其详细介绍:
是山河呀
2025/02/02
2500
【升职加薪秘籍】我在服务监控方面的实践(3)-机器监控
在前一节我们搭建好了监控组件,今天我们就来完成机器这一层次的监控。目前已经有现有的暴露系统指标的软件node-exporter ,并且我们在上一节已经搭建完毕, 在这一节里,我将会讲解如何利用暴露出来的这些指标构建一个自定义的系统监控模板。
蓝胖子的编程梦
2023/08/23
4140
【升职加薪秘籍】我在服务监控方面的实践(3)-机器监控
【YashanDB监控运维平台(YCM)】监控指标
管理平台提供了丰富的监控指标库,覆盖了数据库、操作系统和服务器的绝大部分关键指标,可以帮助您实时了解目标对象的运行状态、性能、资源用量以及负载等。同时,为日常运维、性能调优等提供丰富的数据基础,助力于及时预防、发现并解决问题,避免问题扩大而产生业务影响。
用户11441800
2025/06/25
720
模板银行 | 点击获取模板监控MySQL、PostgreSQL、Hadoop、ES数据库
本MySQL模板采集数据使用mysqladmin/mysql命令连接数据库,并将获取的数据写入本地文件,然后通过Zabbix agent(active)方式获取各监控项的数据。在Zabbix自带的基础模板上进行升级,指标更完善,性能更好
Zabbix
2021/02/03
2.6K0
Linux 进程和系统监测
Linux是一种基于Unix的操作系统,旨在提供稳定、高效、安全的环境。在Linux下,每个正在运行的程序都是一个进程。进程是计算机系统中最为重要的一种资源,也是操作系统管理的最基本单元。因此,了解Linux进程的管理与监测,对于保证系统稳定运行和提高系统性能具有非常重要的意义。
网络技术联盟站
2023/06/07
8720
Linux 进程和系统监测
服务器状态查看工具WGCLOUD v3.5.5 支持监测GPU、防火墙等指标
GITHUB 仓库:https://github.com/tianshiyeben/wgcloud WGCLOUD下载:http://www.wgstart.com
那年十八
2024/10/12
3090
服务器状态查看工具WGCLOUD v3.5.5 支持监测GPU、防火墙等指标
如何进行性能瓶颈分析
分析性能瓶颈需要了解系统部署架构,知道瓶颈可能会发生在哪些节点上,并熟悉查看各个节点指标数据的方法。
穿过生命散发芬芳
2025/02/03
2280
超全性能调优标准制定指南,你一定不能错过!
我有个朋友说他们国企的系统从未性能调优,功能测试完就上线,线上也没性能问题,何必还做性能调优?
JavaEdge
2025/01/01
1620
京东JDK的探索与研究 (一)
本文旨在概述京东在JDK方向上的尝试与探索,以及京东JDK项目背景,基本特性以及未来的工作方向。 对于JDK特性的技术讨论,实现细节及效果,将在后续系列文章中深入讨论。
京东技术
2019/03/14
1.8K0
京东JDK的探索与研究 (一)
Springboot2 + Micrometer监控指标详解
导读:springboot2 项目监控服务 ,采用Micormeter度量指标库,帮助我们监控应用程序的度量指标,并将其发送到Prometheus中。监控指标有系统负载、内存使用情况、应用程序的响应时间、吞吐量、错误率等。
Ray刘
2023/03/23
8.5K1
推荐阅读
相关推荐
一款简单实用的Linux可视化监控工具——WGCLOUD
更多 >
LV.4
后端开发工程师
目录
  • 设置断点_break_point_continue_运行到断点 🥋
  • 回忆上次内容
    • 恢复环境
    • 编辑、调试一条龙
    • 回忆命令
    • 快速跳转
    • 查询帮助
    • 设置断点
    • 动手
    • 求助帮助
    • continue
    • 断(break)点(point)
    • continue
    • 流到 断点
    • clear
    • 清除断点
    • 清除某个断点
    • 断点的意义
    • 设置3个断点
    • 更多断点
    • 删除第2个断点
    • 依据行号删除度断点
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档