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 总结相关推荐

  1. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  2. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  3. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  4. python中星号怎么打出来_Python中的星号:用途及使用方法

    原作者:Trey Hunner Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言(可能无与之完全等效的运算符)迁移过来的的人,这两个运算符有时可能有点儿神秘.在此,我想详述这些 ...

  5. python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景

    装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...

  6. python中关键字参数的特点_Python中的*可变参数与**关键字参数

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  7. python中startout是什么意思_Python socket.timeout方法代碼示例

    本文整理匯總了Python中gevent.socket.timeout方法的典型用法代碼示例.如果您正苦於以下問題:Python socket.timeout方法的具體用法?Python socket ...

  8. python中uppercase是什么意思_Python string.ascii_uppercase方法代码示例

    本文整理汇总了Python中string.ascii_uppercase方法的典型用法代码示例.如果您正苦于以下问题:Python string.ascii_uppercase方法的具体用法?Pyth ...

  9. python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解

    Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...

最新文章

  1. 【面试测试题】贪婪是好事
  2. activity 点击后传递数据给fragment_Fragment 的过去、现在和将来
  3. selenium ie 操作cookie_Python3中selenium 怎么操作Cookie?
  4. 看到一个暴强的翻译,闲的蛋疼,写个c#版的
  5. nopcommerce 商城案例
  6. 第四篇 SpringBoot 2 x整合MyBatis
  7. 服务器内存傲腾基本参数信息,服务器装傲腾内存
  8. 【NISP一级】3.3 边界安全防护设备
  9. ROS2机器人笔记22.02.17
  10. Omron 论坛软件下载连接
  11. 计算机打印机副机无法打印,局域网打印机无法打印怎么办 局域网打印机无法打印解决方法...
  12. 【操作系统】系统中断技术
  13. 宝付国际一文读懂:跨境电商的外汇风险敞口(四)
  14. oracle 建表 lob cache,创建表规范 lob 字段
  15. 转载|领英开源TonY:构建在Hadoop YARN上的TensorFlow框架
  16. H5移动端实现手机震动效果
  17. C# Revit二次开发基础/核心编程---建筑建模-标高和轴网
  18. uniapp微信客服
  19. 引用dubbo服务时的ref和id分别是什么
  20. matlab滤波器脉冲响应,【 MATLAB 】impz函数介绍(数字滤波器的脉冲响应)

热门文章

  1. 周二直播丨数据库上云趋势下,如何面对海量数据迁移及落地实践
  2. AWR 报告深度解读:Redo Nowait指标的算法和诊断
  3. 区块链交易隐私如何保证?华为零知识证明技术实战解析
  4. 如何应对Spark-Redis行海量数据插入、查询作业时碰到的问题
  5. 华为数据库2019年度大盘点
  6. 计算机一级专题训练,计算机等级考试一级MSOFFICE综合训练试题
  7. 下载的字幕php是什么格式的,mkv是什么文件格式
  8. Spring IOC容器和Bean的配置
  9. Jupyter notebook 中使用pip install安装第三方Python包
  10. 【python基础知识】error: Unable to find vcvarsall.bat--python3.5+windows7