前言

平时ide比如pycharm调试习惯了,但有时需要python命令行调试工具,特别是pycharm远程或vscode远程配置起来觉得麻烦的时候

进去调试

有两种方法

方法1:

python -m pdb test.py

方法2:

import pdb
pdb.set_trace()

这个时候启动python的时候可以不需要-m pdb选项了

调试命令

参考1:

参考2:

条件调试

方法1:

关键代码:b 4, node_num > 4

(Pdb) l1  -> import pdb23     for node_num in range(50) :4       foo = 2**node_num
[EOF]
(Pdb) b 4, node_num > 4
Breakpoint 1 at /home/dcadm/abc.py:4
(Pdb) c
> /home/dcadm/abc.py(4)<module>()
-> foo = 2**node_num

方法2:

在代码加if加pdb.set_trace()

for i in range(100):if i == 10:pdb.set_trace()

dummy

有时候代码中插入pdb.set_trace()太多了,想要退出调试又不想一行行去注释掉,可以写了dummy的pdb来达到注释的目的:

# import pdb
class pdb:set_trace=lambda:print("")

PDB中执行多行语句

有时候需要在pdb中执行多行数据来进行测试,比如for循环什么的,但是pdb中不会识别代码块,可以使用!开头,并是用;拼接多行为一行:

(pdb) !importcode; code.interact(local=vars())
Python 2.6.5(r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] onlinux2
Type"help","copyright","credits"or"license" for more information.
(InteractiveConsole)
>>> 

完成后,使用Ctrl-D返回常规pdb提示符。

总结

以上这些在命令行pdb调试基本够用了。

python中的调试器dbg相关推荐

  1. python:bdb --- 调试器框架

    python:bdb --- 调试器框架 bdb 模块处理基本的调试器函数,例如设置中断点或通过调试器来管理执行. 定义了以下异常: exception bdb.BdbQuit 由 Bdb 类引发用于 ...

  2. [转载]理解PYTHON中的装饰器

    [翻译]理解PYTHON中的装饰器 来源stackoverflow上的问题 链接 python的函数是对象 要理解装饰器,首先,你必须明白,在python中,函数是对象. 这很重要. 简单例子来理解为 ...

  3. 为什么说想到Python中的装饰器是天才

    为什么说想到Python中的装饰器是天才 只需一个@符号就能分析.测试和重复使用你的代码 带着魔杖的仙女在Python代码中飞舞 软件中有没有什么是神奇的小魔法? 有,装饰器却非常接近! 如果说有一件 ...

  4. python装饰器原理-python 中的装饰器及其原理

    装饰器模式 此前的文章中我们介绍过装饰器模式: 装饰器模式中具体的 Decorator 实现类通过将对组建的请求转发给被装饰的对象,并在转发前后执行一些额外的动作来修改原有的部分行为,实现增强 Com ...

  5. python类装饰器详解-python 中的装饰器详解

    装饰器 闭包 闭包简单的来说就是一个函数,在该函数内部再定义一个函数,并且这个内部函数用到了外部变量(即是外部函数的参数),最终这个函数返回内部函数的引用,这就是闭包. def decorator(p ...

  6. python中的装饰器decorator

    python中的装饰器 装饰器是为了解决以下描述的问题而产生的方法 我们在已有的函数代码的基础上,想要动态的为这个函数增加功能而又不改变原函数的代码 例如有三个函数: def f1(x):return ...

  7. python编写装饰器_写python中的装饰器

    python中的装饰器主要用于在已有函数实现功能前附加需要输出的信息,下面将用实例展示我如何写装饰器. 首先分别尝试写装饰器装饰一个无参函数和一个有参函数(被装饰函数仅输出,无返回值情况下) 1 de ...

  8. python中的装饰器(基础装饰器)

    文章目录 一 前置知识-高阶函数,闭包 1. 高阶函数 2. 闭包 二 函数装饰器 1. 什么是装饰器(原理)? 2. 装饰器的实现 3. 何时执行装饰器 4. wraps方法 三 类装饰器 一 前置 ...

  9. python中的装饰器怎么运行_Python 装饰器入门(上)

    翻译前想说的话: 这是一篇介绍python装饰器的文章,对比之前看到的类似介绍装饰器的文章,个人认为无人可出其右,文章由浅到深,由函数介绍到装饰器的高级应用,每个介绍必有例子说明.文章太长,看完原文后 ...

最新文章

  1. 介绍java -cp java -jar的区别
  2. 20140417--Linux课程讲解目录索引
  3. mui框架提供的相关api
  4. 【H2 Database】shell
  5. 使用@Async进行异步调用详解
  6. java内存分配分析/栈内存、堆内存
  7. 网络编程技术(技术总结)
  8. 欧式香草期权(普通看涨、看跌)的定价公式及实现
  9. springBoot17_缓存:环境搭建、原理、Cacheable、CachePut、CacheEvit、Caching、阿里云镜像加速、整合redis作为缓存、缓存原理、自定义缓存
  10. qq游戏ie服务器在哪个文件夹,IE的缓存文件夹在哪个文件夹?
  11. 要闻君说:华为与故宫携手共建智慧紫禁城;央视315曝光瞄准大数据黑市;华为官宣称自己也有操作系统了;美国夸口启动6G研发?...
  12. 算法注册机编写扫盲---第四课
  13. android动态壁纸的制作教程,android – 动态壁纸教程
  14. C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡
  15. linux-运维进阶-31 OpenSSL实现CA证书
  16. 日本留学签证丢失如何补办
  17. easyx的使用(2)
  18. 去掉clover的广告方法
  19. 电磁场的变化方式 工程电磁场 P27
  20. ts的类型any与unknown

热门文章

  1. 2719 sheldon数
  2. 计算机网络谢希仁课后习题
  3. Java8.0 新特性二之Stream
  4. py socket5 代理
  5. NVIDIA AGX xavier 系列一 刷机步骤经验总结
  6. Sigmoid函数以及传统线性函数
  7. Javascript——高级进阶
  8. 《大话西游》你真的看懂了吗,kotlin命令行编译
  9. 精致又小巧的3款黑科技软件,一旦使用,难以割舍
  10. boost库在工作(25)任务之五