python中debug有什么用途_Python debug 总结
pdb
import pdb; pdb.set_trace()
(Pdb)
在最近刚发布的 Python 3.7 中,引入了 PPE 553 新特性 beakpoint ( Python 3.7 的新特性可以参考这里:https://docs.python.org/3/whatsnew/3.7.html ),现在可以通过直接在脚本中调用
breakpoint()
来调试。默认情况下,breakpoint() 会 import pdb 并调用 pdb.set_trace(),如上所示。 但是,使用breakpoint()更灵活,允许您通过其API控制调试行为并使用环境变量 PYTHONBREAKPOINT。 例如,在环境中设置PYTHONBREAKPOINT = 0将完全禁用 breakpoint() ,从而禁用调试。 如果您使用的是Python 3.7或更高版本,建议使用breakpoint()而不是pdb.set_trace()。
python3 -m pdb app.py arg1 arg2
也可以通过直接传入 -m pdb 的方式进行调试
比较常用的操作是 b linenumber 加断点,c 跳过当前断点,s step in 当前断点,dir 查看当前结构体的属性等
gdb
还有一种经常遇到的情况就是 python 遇到 segment fault ,如果你的 codes 里使用了 c 的 module ,则可以使用 gdb 进行调试。
gdb python
run /path/to/your/script.py
这时程序会不停的打印类似于
[New Thread 0x7fffc8ff9700 (LWP 32104)]
[Thread 0x7fffc8ff9700 (LWP 32104) exited]
的信息,这个可以通过
(gdb) set print thread-events off
另外一种可行的方式是,使用 faulthandler:
First add the following to the top of your module.
import faulthandler; faulthandler.enable()
Then re-run your program with the faulthandler startup flag.
Passed as an argument.
# pass as an argument
python -Xfaulthandler my_program.py
# Or as an environment variable.
PYTHONFAULTHANDLER=1 python my_program.py
python中debug有什么用途_Python debug 总结相关推荐
- [转载] python中for语句用法_详解Python中for循环的使用_python
参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...
- python中for语句用法_详解Python中for循环的使用_python
这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- python中星号怎么打出来_Python中的星号:用途及使用方法
原作者:Trey Hunner Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言(可能无与之完全等效的运算符)迁移过来的的人,这两个运算符有时可能有点儿神秘.在此,我想详述这些 ...
- python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景
装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...
- python中关键字参数的特点_Python中的*可变参数与**关键字参数
1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...
- python中startout是什么意思_Python socket.timeout方法代碼示例
本文整理匯總了Python中gevent.socket.timeout方法的典型用法代碼示例.如果您正苦於以下問題:Python socket.timeout方法的具體用法?Python socket ...
- python中uppercase是什么意思_Python string.ascii_uppercase方法代码示例
本文整理汇总了Python中string.ascii_uppercase方法的典型用法代码示例.如果您正苦于以下问题:Python string.ascii_uppercase方法的具体用法?Pyth ...
- python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解
Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...
最新文章
- 【面试测试题】贪婪是好事
- activity 点击后传递数据给fragment_Fragment 的过去、现在和将来
- selenium ie 操作cookie_Python3中selenium 怎么操作Cookie?
- 看到一个暴强的翻译,闲的蛋疼,写个c#版的
- nopcommerce 商城案例
- 第四篇 SpringBoot 2 x整合MyBatis
- 服务器内存傲腾基本参数信息,服务器装傲腾内存
- 【NISP一级】3.3 边界安全防护设备
- ROS2机器人笔记22.02.17
- Omron 论坛软件下载连接
- 计算机打印机副机无法打印,局域网打印机无法打印怎么办 局域网打印机无法打印解决方法...
- 【操作系统】系统中断技术
- 宝付国际一文读懂:跨境电商的外汇风险敞口(四)
- oracle 建表 lob cache,创建表规范 lob 字段
- 转载|领英开源TonY:构建在Hadoop YARN上的TensorFlow框架
- H5移动端实现手机震动效果
- C# Revit二次开发基础/核心编程---建筑建模-标高和轴网
- uniapp微信客服
- 引用dubbo服务时的ref和id分别是什么
- matlab滤波器脉冲响应,【 MATLAB 】impz函数介绍(数字滤波器的脉冲响应)
热门文章
- 周二直播丨数据库上云趋势下,如何面对海量数据迁移及落地实践
- AWR 报告深度解读:Redo Nowait指标的算法和诊断
- 区块链交易隐私如何保证?华为零知识证明技术实战解析
- 如何应对Spark-Redis行海量数据插入、查询作业时碰到的问题
- 华为数据库2019年度大盘点
- 计算机一级专题训练,计算机等级考试一级MSOFFICE综合训练试题
- 下载的字幕php是什么格式的,mkv是什么文件格式
- Spring IOC容器和Bean的配置
- Jupyter notebook 中使用pip install安装第三方Python包
- 【python基础知识】error: Unable to find vcvarsall.bat--python3.5+windows7