使用pdb调试python代码的方法

举报
山海之光 发表于 2019/12/27 21:16:41 2019/12/27
7.3k+ 0 0
【摘要】 在有界面的操作系统上,可以使用pycharm进行pychon代码的调试,但是在只能使用terminal的Linux机器上怎么高效调试代码呢?答案就是使用pdb调试工具。初次使用pdb调试的同学,会觉得它和pycharm调试的感觉差太远了,很不方便。其实用习惯后,pdb是很好用的,以下是我的常用用法总结,基本上这些用法就覆盖了我Python开发工作的需要。1、开启调试模式python -m p...

在有界面的操作系统上,可以使用pycharm进行pychon代码的调试,但是在只能使用terminal的Linux机器上怎么高效调试代码呢?答案就是使用pdb调试工具。初次使用pdb调试的同学,会觉得它和pycharm调试的感觉差太远了,很不方便。其实用习惯后,pdb是很好用的,以下是我的常用用法总结,基本上这些用法就覆盖了我Python开发工作的需要。

1、开启调试模式

python -m pdb xxx.py

2、设置断点

b 行号

3、查看断点

b

4、取消断点

cl 断点编号

5、跨文件设断点

比如说,要在 xxx/xxx/xxx.py 的第10行设置断点

可以这么做,开启调试模式后,执行:

import sys

sys.path.append('xxx.py所在目录的绝对路径')

b xxx.py:10

这样就跨文件设置好了断点

6、在任意文件的任意位置设置断点

在需要设置断点的py文件所在行,添加如下两行代码:

import pdb

pdb.set_trace()

直接python xxx.py运行代码,在执行到pdb.set_trace()处直接会进入debug模式

7、查看变量值

p(变量名)

print(变量名),有些变量不支持print

如果要查看一个复杂python对象,请查看 https://bbs.huaweicloud.com/blogs/140380 中的方法

8、单步执行

s

9、单行执行

n

10、跳出当前函数的执行

r

11、持续执行

c

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。