Pycharm调试程序技巧小结
断点
如图,是pycharm的断点,只需要单击左侧,即可定义该断点,和其他开发软件一样方便。断点的作用是:但程序采取debug方式运行时,程序走到这里,将会停下脚步,展示该断点的详细信息。
debug运行
如图,一个蜘蛛的标识,就是debug的运行方式。所谓debug,就是调试的意思。大多数程序设计语言都有专门的调试工具,pycharm也是如此,可以用这个工具来分析程序的动态行为。
调试技巧
1、使用print()打印信息
最开始用pycharm的时候,常用的方法之一:
优点是能够显示程序的动态过程,比较容易检查源程序的有关信息。
缺点是效率低,可能输入大量无关的数据,发现错误带有偶然性。
所以,可以使用,但少用或不用。
2、debug工具栏
如图,debug工具栏的功能介绍如下:
(1)重新运行
效果:重新debug运行,方便快捷;
(2)调试程序
效果:跳到下一个断点,越过“山丘”(中间代码)
(3)终止程序
效果:立即终止程序运行
(4)配置断点
效果:全局查看所有断点,无论该断点在哪,并进行配置
(5)沉默断点
效果:使所有断点失效
3、单步调试工具栏
如图,单步调试工具栏的功能介绍如下:
(1)显示执行点
效果:临时显示当前执行点的数据情况
(2)跳过
效果:跳过该执行点调用的方法,进入下一行
备注:当在我的代码内,功能与“进入我的代码”一致;不在我的代码内,功能为进入下一行,即一行一行执行。
(3)进入
效果:进入该方法进入的执行点,进入调用的方法中
(4)进入我的代码
效果:无论当前状态在哪里,点击这个,就会进入我的代码,进入下一行
备注:当在我代码内,功能与跳过一致。
(5)跳出
效果:在断点中,直接跳出到下一个断点;在我的代码中,跳出该执行点,进入上一个执行点的代码中,即往回追溯;
(6)运行到光标
效果:运行到光标位置的代码,注意:如果中间有断点,优先执行到断点
(7)评估表达式
效果:动态查看某一个值
到此这篇关于Pycharm调试程序技巧小结的文章就介绍到这了,更多相关Pycharm调试程序技巧内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
利用Pycharm断点调试Python程序的方法
1.代码 准备没有语法错误的Python程序: #!/usr/bin/python import numpy as np class Network: def __init__(self,sizes): self.num_layers=len(sizes) self.sizes=sizes self.biases=[np.random.randn(y,1) for y in sizes[1:]] self.weights=[np.random.randn(x,y) \ for x,y in zi
-
pycharm远程linux开发和调试代码的方法
pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行编写,而pycharm提供了非常便捷的方式.具体实现在windows上远程linux开发和调试的代码步骤如下: 配置远程linux主机信息 选择Tools--Deployment--Configuration 这里选择SFTP就可以 这里添加SFTP主机信息然后可以天机测试连接,输入用户名和密码
-
pycharm在调试python时执行其他语句的方法
以前一直习惯用matlab,断点调试时可以进行各种操作.在这一点上python的便利性远不如matlab.不过pycharm这个软件却可以调试python,并且可以在中断的时候执行其他语句.我百度到的一些教程都是说让改下配置.但在我试验下来改配置不管用,反而是另一个方法管用. 不管用的方法: 我的方法: 需要选中左下角的那个 Show Python Prompt ,然后就可以向matlab一样,输入变量就显示,输入一句就执行一句. 以上这篇pycharm在调试python时执行其他语句的方法就是
-
pycharm运行和调试不显示结果的解决方法
刚在虚拟机里面安装了pycharm,配置(setting)完后,新建一个py文件,键入"hello world",竟然没有结果,虽然运行成功.pycharm太不友好了吧! 然后开始找问题: 1:有人说是文件名的问题,这个可能有,但是我没有改,我觉得我的这个很规范. 2:pyqt的auto选项,试了一下没反应. 3:还有人说版本问题,我check了最新版应该没问题,再装一次太麻烦了,也没有改. 4:还有禁掉pycharm网络的问题.太扯了吧,反正我应该不是. 都TM什么问题些!!!好不靠
-
python使用PyCharm进行远程开发和调试
背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟踪调试就好了. 然而,在服务器系统上安装一个IDE肯定是不现实的:通过SSH远程到服务器端,采用pdb进行调试虽然可行,但是操作还是较为繁琐,而且也不够直观. 那么,是否可以将开发环境中的IDE与服务器环境相连,实现利用开发环境的IDE调试服务器环境中运行的程序呢? 答案是肯定的,这就是远程调试(Remote D
-
Python PyCharm如何进行断点调试
编辑器不等于IDE(集成开发环境),开发python程序,不是只有一种print()打印输出调试. 术业有专攻,于人如此,于一个软件也是如此.让专业的软件做专业的事. 以上两点得出的结论:PyCharm 我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误: def foo(bar=[]): bar.append('bar') return bar >>>foo() ['bar'] >>>foo() ['bar', 'bar'] >
-
Pycharm配置远程调试的方法步骤
动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据一致 有些三方平台会验证服务器的合法性或者异步回调结果,如微信支付,这时候本地无法测试 如上所诉,要是有一个很方便调试远程服务器的方法,岂不美哉.通过PyCharm我们可以很方便地实现远程调试,下面详细介绍下PyCharm这个牛叉的功能. 使用远程解释器 默认情况下我们在本地开发Python程序时,使用的是本地的Python解释器,如
-
PyCharm+PySpark远程调试的环境配置的方法
前言:前两天准备用 Python 在 Spark 上处理量几十G的数据,熟料在利用PyCharm进行PySpark远程调试时掉入深坑,特写此博文以帮助同样深处坑中的bigdata&machine learning fans早日出坑. Version :Spark 1.5.0.Python 2.7.14 1. 远程Spark集群环境 首先Spark集群要配置好且能正常启动,版本号可以在Spark对应版本的官方网站查到,注意:Spark 1.5.0作为一个比较古老的版本,不支持Python 3.6+
-
Pycharm调试程序技巧小结
断点 如图,是pycharm的断点,只需要单击左侧,即可定义该断点,和其他开发软件一样方便.断点的作用是:但程序采取debug方式运行时,程序走到这里,将会停下脚步,展示该断点的详细信息. debug运行 如图,一个蜘蛛的标识,就是debug的运行方式.所谓debug,就是调试的意思.大多数程序设计语言都有专门的调试工具,pycharm也是如此,可以用这个工具来分析程序的动态行为. 调试技巧 1.使用print()打印信息 最开始用pycharm的时候,常用的方法之一: 优点是能够显示程序的动态
-
12个Visual Studio调试效率技巧(小结)
在这篇文章中,我们假定读者了解 VS 基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数) F10 步过函数(如果当前程序指针指向一个函数) Shift+F11 步出执行的函数 暂停执行 附加到进程 鼠标悬停时快速查看源代码中的元素 调试窗口:局部变量.监视.即时窗口.模块.调用堆栈.异常设置 许多开发人员使用这个功能强大的工具包来处理调试会话.然而, Vi
-
JS常用函数和常用技巧小结
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数,代码如下: var Ajax = function(url, type success, error) { $.ajax({ url: url, type: type, dataType: 'json', timeout: 10000, success: fu
-
Nodejs 和Session 原理及实战技巧小结
一 Cookie 因为HTTP协议是没有状态的,但很多情况下是需要一些信息的,比如在用户登陆后.再次访问网站时,没法判断用户是否登陆过.于是就有了cookies,用于在浏览器端保存用户数据,它有如下特点 1 是在客户端浏览器端才有的 2 用于记录信息,大小最大为4K字节 3 如果使用了cookies,那么任何对该域名的访问都会带上cookies 目前新型网站更多的采用浏览器缓存,cookie会存在一些问题,比如你每次往服务器提交请求时,都会带上cookie,无论是你访问的是不是静态图片. coo
-
javascript 数组精简技巧小结
数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率. 1. 删除数组的重复项 2. 替换数组中的特定值 有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.splice(start.value to remove.valueToAdd),这些参数指定咱们希望从哪里开始修改.修改多少个值和替换新值. 3. Array.from 达到 .map 的效果 咱们都知道 .map() 方法,.from() 方
-
后端开发使用pycharm的技巧(推荐)
1.使用说明 首先说明,本文所使用的功能为pycharm专业版所支持,其他版本如社区版,教育版,则不一定支持. 作为一名后端开发,我猜你的桌面上一定打开着一系列的软件,用作开发调试工具,比如navicat数据库连接工具,postman接口调试工具,pycharm代码编写IDE,以及其他一些工具.今天,我就介绍一下pycharm中你可能还不知道的一些功能,让你的IDE.postman.navicat融为一体,从此不再需要频繁切屏. 2.database 这个功能本人觉得可以完全替代navicat,
-
15个应该掌握的Jupyter Notebook使用技巧(小结)
Jupyter Notebook是一个基于浏览器的交互式编程环境(REPL, read eval print loop),它主要构建在IPython等开源库上,允许我们在浏览器上运行交互式python代码.并且有许多有趣的插件和神奇的命令,大大增强了python的编程体验. 1. 计算单元的执行时间 我们可以在一个jupyter notebook单元的开头使用%%time命令来计算执行该单元的时间. 2. 进度条 可以使用python外部库创建进度条,它可以实时更新代码运行的进度.它让用户知道正
-
你应该知道的这些Mybatis-Plus使用技巧(小结)
最近在用 Mybatis-Plus,嗯,真香!!!今天就来说说 Mybatis-Plus 的那些使用技巧 1.条件查询(QueryWrapper) 如果说,我们需要查询的 SQL 语句如下: SELECT * FROM user_info WHERE 1=1 AND age = 20 那么对应的代码可以为: QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("age&qu
-
pycharm使用技巧之自动调整代码格式总结
代码自动填充了空格 问题 在使用pycharm的代码编辑器时,常常懒得写空格,如下图,但这是不符合代码规范的,而且也会影响可读性. 解决方法 pycharm有自动调整代码格式的快捷键,默认为Alt+Ctrl+L,按下快捷键后,代码自动填充了空格. 自动对齐代码 问题 在使用pycharm的代码编辑器时,有点时候copy的代码的没有按照代码格式对齐,如下图,但这是不符合代码规范的,而且也会影响可读性. 解决方法 pycharm有自动调整代码格式的快捷键,默认为Alt+Ctrl+L,将光标置于需要调
-
Python编程mac下使用pycharm小技巧
pycharm创建新文件自动添加文件头注释 背景 我们平时在使用pycharm发现有些大神创建一个新文件的时候会自动在文件头添加一些注释,像是有文件路径,创建时间,创建人,集成平台等信息,但是我们自己创建的时候就没有,不着急,只需要一点的简单的配置就能实现. 方法 通过pycharm->Perferences进入设置模式 选择File and Code Template -> Python Script 在文件中加入以下配置 # -*- coding: utf-8 -*- # @Time :
随机推荐
- js 限制表单输入长度 汉字为两个字符
- 使用bat打开多个cmd窗口执行gulp、node
- Js利用prototype自定义数组方法示例
- Yii2中多表关联查询hasOne hasMany的方法
- PHP获取数组长度或某个值出现次数的方法
- 实现php加速的eAccelerator dll支持文件打包下载
- EditPlus 正则表达式替换字符串详解
- C语言for语句用法详解
- 关于javascript document.createDocumentFragment()
- js获取当前日期时间及其它日期操作汇总
- javascript弹出页面回传值的方法
- asp防止垃圾留言代码
- 基于Java 数组内存分配的相关问题
- Android 基于Socket的聊天室实例
- 基于对话框程序中让对话框捕获WM_KEYDOWN消息的实现方法
- 在Asp.net用C#建立动态Excel
- Python实现判断字符串中包含某个字符的判断函数示例
- 详解利用Angular实现多团队模块化SPA开发框架
- 在vue中,v-for的索引index在html中的使用方法
- mac及linux下搭建ruby+rails环境