Python - 调试Python代码的方法

 调试(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计组合中的10个严重错误可能会导致您丧命

As an agency co-founder and design lead, I’ve been participating in many recruitment processes. I’ve seen hundreds of portfolios and CVs of aspiring designers. If you’re applying for a UI designer position, it is good to have some things in mind and to …

netflix_Netflix的计算因果推论

netflixJeffrey Wong, Colin McFarland杰弗里黄 &#xff0c; 科林麦克法兰 Every Netflix data scientist, whether their background is from biology, psychology, physics, economics, math, statistics, or biostatistics, has made meaningful contributions to the way…

算法题库网站

Google Code Jam&#xff08;GCJ&#xff09;Peking University Online Judge&#xff08;POJ&#xff09;CodeForces&#xff08;CF&#xff09;LeetCode&#xff08;LC&#xff09;Aizu Online Judge&#xff08;AOJ&#xff09;

org.dom4j.DocumentException: null Nested exception: null解决方法

由于最近在学习使用Spring架构&#xff0c;经常会遇到与xml文档打交道&#xff0c;今天遇到了此问题&#xff0c;特来分享一下解决方案。 出错原因&#xff1a; 很明显是因为找不到文件路径。这个原因是因为我使用了*.clas.getResourceAsStream&#xff08;xmlFilePath&#xf…

MySQL命令学习

上面两篇博客讲了MySQL的安装、登录&#xff0c;密码重置&#xff0c;为接下来的MySQL命令学习做好了准备&#xff0c;现在开启MySQL命令学习之旅吧。 首先打开CMD&#xff0c;输入命令&#xff1a;mysql -u root -p 登录MySQL。 注意&#xff1a;MySQL命令终止符为分号 (;) …

实验心得_大肠杆菌原核表达实验心得(上篇)

大肠杆菌原核表达实验心得&#xff08;上篇&#xff09;对于大肠杆菌蛋白表达&#xff0c;大部分小伙伴都觉得 so easy! 做大肠杆菌蛋白表达十几年经历的老司机还经常阴沟翻船&#xff0c;被大肠杆菌表达蛋白虐千百遍的惨痛经历&#xff0c;很多小伙伴都有切肤之痛。福因德接下…

scrapy从安装到爬取煎蛋网图片

下载地址&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/pip install wheelpip install lxmlpip install pyopensslpip install Twistedpip install pywin32pip install scrapy scrapy startproject jandan 创建项目cd jandancd jandan items.py 存放数据pipelines.p…

高斯金字塔 拉普拉斯金字塔_金字塔学入门指南

高斯金字塔 拉普拉斯金字塔The topic for today is on data validation and settings management using Python type hinting. We are going to use a Python package called pydantic which enforces type hints at runtime. It provides user-friendly errors, allowing you …

基本排序算法

插入排序 基本思想&#xff1a;把待排序列表分为已排和未排序两部分&#xff0c;从未排序左边取值&#xff0c;按顺序从已排序的右端开始对比插入到相应的位置。 java代码实现 private void insertSort(int[] arr){int i, j;int temp;for(i 0; i < arr.length; i){temp …

自定义版本更新弹窗

目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍2.2 如何计算动画数据2.3 什么是动画更新函数2.4 动画数据如何存储2.5 Animation的调用 3.Animator运行原理和源码分析 3.1 属性动画的基本属性3.2 属性动画新的概念3.3 PropertyValuesHold…

《SQL Server 2008从入门到精通》--20180716

1.锁 当多个用户同时对同一个数据进行修改时会产生并发问题&#xff0c;使用事务就可以解决这个问题。但是为了防止其他用户修改另一个还没完成的事务中的数据&#xff0c;就需要在事务中用到锁。 SQL Server 2008提供了多种锁模式&#xff1a;排他锁&#xff0c;共享锁&#x…

googleearthpro打开没有地球_嫦娥五号成功着陆地球!为何嫦娥五号返回时会燃烧,升空却不会?...

目前&#xff0c;嫦娥五号已经带着月壤成功降落到地球上&#xff0c;创造了中国航天的又一里程碑。嫦娥五号这一路走来&#xff0c;困难重重&#xff0c;但都被我国航天科技人员逐一克服&#xff0c;最终圆满地完成了嫦娥五号的月球采样返回地球任务。嫦娥五号最后这一步走得可…

语言认知偏差_我们的认知偏差正在破坏患者的结果数据

语言认知偏差How do we know if we are providing high-quality care? The answer to this question is sought by a multitude of parties: patients, clinicians, educators, legislators, and insurance companies. Unfortunately, it’s not easy to determine. There is …

android 打包相关问题记录

Android 中的打包配置在build.gradle文件中&#xff0c;下面对该文件的内容做一下记录。 buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.2.0} } 这里生命了仓库的位置&#xff0c;依赖gradle的版本。 android{} android {…

本文将引导你使用XNA Game Studio Express一步一步地创建一个简单的游戏

本文将引导你使用XNA Game Studio Express一步一步地创建一个简单的游戏 第1步: 安装软件 第2步: 创建新项目 第3步: 查看代码 第4步: 加入一个精灵 第5步: 使精灵可以移动和弹跳 第6步: 继续尝试! 完整的实例 第1步: 安装软件在动手之前,先确定你已经安装了所需的软件,其中包…

C#中实现对象的深拷贝

深度拷贝指的是将一个引用类型&#xff08;包含该类型里的引用类型&#xff09;拷贝一份(在内存中完完全全是两个对象&#xff0c;没有任何引用关系)..........  直接上代码&#xff1a; 1 /// <summary>2 /// 对象的深度拷贝&#xff08;序列化的方式&#xf…

Okhttp 源码解析

HTTP及okhttp的优势 http结构 请求头 列表内容表明本次请求的客户端本次请求的cookie本次请求希望返回的数据类型本次请求是否采用数据压缩等等一系列设置 请求体 指定本次请求所使用的方法请求所使用的方法 响应头 - 服务器标识 - 状态码 - 内容编码 - cookie 返回给客…

python中定义数据结构_Python中的数据结构。

python中定义数据结构I remembered the day when I made up my mind to learn python then the very first things I learned about data types and data structures. So in this article, I would like to discuss different data structures in python.我记得当初下定决心学习…

python实训英文_GitHub - MiracleYoung/You-are-Pythonista: 汇聚【Python应用】【Python实训】【Python技术分享】等等...

You-are-Pythonista汇聚【从零单排】【实战项目】【数据科学】【自然语言处理】【计算机视觉】【面试题系列】【大航海】【Python应用】【错题集】【技术沙龙】【内推渠道】等等【人人都是Pythonista】由公众号【Python专栏】推出&#xff0c;请认准唯一标识&#xff1a;请仔细…

java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security

鸿鹄云商大型企业分布式互联网电子商务平台&#xff0c;推出PC微信APP云服务的云商平台系统&#xff0c;其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台。 分布式、微服务、云架构电子商务平台 java b2b2c o2o 技术解决方案 开发语言&#xff1a; java、j2ee 数据库&am…