调试(debug)

  • 将可疑环节的变量逐步打印出来,从而检查哪里是否有错。
  • 让程序一部分一部分地运行起来。从核心功能开始,写一点,运行一点,再修改一点。
  • 利用工具,例如一些IDE中的调试功能,提高调试效率。

Python CMD

python -m trace -t <py file>
python -m dis  <py file>

  • 内置trace模块:打印所有执行的语句
  • 内置dis模块:分析字节码

Linux

strace -p pid      # 用系统命令跟踪系统调用

PyCharm Debug

  • https://www.jetbrains.com/help/pycharm/quick-start-guide.html
  • http://www.jetbrains.com/help/pycharm/debugging-code.html
  • 代码的调试、运行 https://blog.csdn.net/u013088062/article/details/50130991
  • Pycharm调试器总篇  https://blog.csdn.net/u013088062/article/details/50214459
  • Pycharm调试器之断点篇  https://blog.csdn.net/u013088062/article/details/50216015

PySnooper

“贫民版”Python调试工具:https://github.com/cool-RR/PySnooper
- 允许执行以上相同的操作,只需为要调试的函数添加一个装饰器即可,而不需要构建正确的 print 打印。
- 将得到函数的详细日志,包括运行了哪些代码行、何时运行以及何时更改了局部变量。
- 使用简单,可以在任何庞大的代码库中使用,而无需进行任何设置。只需添加装饰器,并为日志输出地址指定路径,方法是将其路径指定为第一个参数。

参考信息

  • 常用的Python调试工具:http://blog.jobbole.com/51062/
  • Python 程序如何高效地调试?:https://www.zhihu.com/question/21572891
  • Python 代码调试技巧:https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/
  • python调试:http://www.cnblogs.com/frchen/p/5752763.html

转载于:https://www.cnblogs.com/anliven/p/9998722.html

Python - 调试Python代码的方法相关推荐

  1. vscode怎么配置python运行环境f5_VSCode下配置python调试运行环境的方法_python

    这篇文章主要介绍了VSCode下配置python调试运行环境的方法,需要的朋友可以参考下 VSCode配置python调试环境 很久之前的一个东东,翻出来看看VSCode配置python调试环境 * ...

  2. 内核级python:调试Python编译器源码

    python编译器在执行时,给它指定要执行的源码文件,或者说直接输入源码字符串就可以驱动脚本的执行流程,其基本框架如下: input层是python编译器用于获取源码的输入方式,事实上Python能够 ...

  3. Python:获取代码运行时间方法

    文章目录 使用time模块 1 time.clock() 2 time.time() 使用timeit模块 timeit.default_timer() 使用datetime模块 datetime.d ...

  4. onenote使用python开发_OneNote 代码高亮方法总结

    前言 微软的 OneNote 是一个很强大的笔记工具,但是其本身并不支持代码高亮,这让我们在记录代码时很不方便.还好我们可以通过 OneNote 插件和一些方法实现代码高亮. 本篇就总结下 OneNo ...

  5. python 调试,Python 学习入门--pydev调试

    运行程序 运行 Python 源程序,有两种方法,以 example.py 为例: example.py代码: #!/usr/bin/env python # -*- coding:utf-8 -*- ...

  6. python操作js中的输入_Python调用JavaScript代码的方法

    准备阶段: 以一段简单的JS脚本为例,将代码写入到文件中,其中,定义了一个方法,计算两个数的和. //norm.js //计算两个数的和 function add(num1, num2) { retu ...

  7. python调用java代码方法

    前言: 公司要测试对外接口,接口中的数据又涉及到加密的问题,而python对加密数据进行位运算后,居然无法逆向位运算回来了(应该是个人能力不够吧),只好调用同事之前用的java代码中的函数去解码了,花 ...

  8. Android逆向之调试smali代码基础

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Android逆向中调试smali代码的方法." 最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享 ...

  9. python程序代码大全-调试Python程序代码的几种方法总结

    程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...

最新文章

  1. 机器学习实践:了解数据核心的通用方法!
  2. Network In Network
  3. 这5家纳米技术公司正在推动医疗检测的变革
  4. com.android.sadk卸载不掉,Android的Service的两种方式以及使用
  5. MySQL之条件表达式
  6. 聊聊我对黑客技术的思考
  7. linux内核的I2C子系统详解4——i2c-s3c2410.c文件中的adapter、algorithm
  8. 带你根据源码了解View的事件触发流程,主要讲解为什么子View返回true,ViewGroup就无法接收到事件的过程
  9. jQuery 3 有哪些新东西
  10. No WebApplicationContext found: no ContextLoaderListener registered?
  11. linux卸载phpstudy_phpStudy Linux 面板安装教程
  12. VL2 异步复位的串联T触发器
  13. 奥克兰大学 计算机硕士 GPA,申请奥克兰大学需要GPA成绩吗
  14. labview能打开c语言文件吗,LabVIEW还是C语言?(能够换个方式提问吗?)
  15. 百度AICA迎来毕业季,55位新晋“首席AI架构师”推进产业智能化
  16. 【Python】如何使用 Python 的 pprint库格式化和输出列表和字典
  17. 二十一世纪大学英语读写教程(第三册)学习笔记(原文)——4 - College Pressures(大学生的压力)
  18. 移动业务 基本词语 汇总
  19. cmd命令打开文本文档_win10自带照片应用打开太慢,改用win7照片查看器
  20. 树形结构tree工具类

热门文章

  1. c语言中将函数指针作为形参_在C中将有效指针作为NULL指针
  2. Java——多线程(线程安全问题)
  3. ffplay 分析(音频从Frame(解码后)队列取数据到SDL输出)
  4. Java基础:int和Integer的区别
  5. python 二项分布_二项分布的理论基础、应用及Python实践
  6. uva 10710——Chinese Shuffle
  7. ubuntu18重装笔记
  8. CodeForces - 641ELittle Artem and Time Machine——map+树状数组
  9. 树莓派远程监控的实现
  10. 信号 09 | SIGCLD语义