首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

第15.3节 PyCharm程序调试功能介绍

  • 23-09-22 12:42
  • 4501
  • 11717
blog.csdn.net

一、 代码调试
点击工具栏的调试按钮(如下图蓝色圈标记按钮)可以进行程序调试,可以在调试前先设置断点,断点设置就是在打开文件的行与前面的行号之间用鼠标单击进行设置和取消(如下图蓝色下划线上面的实体圆点)
在这里插入图片描述
设置后执行debug时到断点就会停下,如下图:
在这里插入图片描述
其中黄色荧光笔标记的为debug调试语句执行按钮,包括step over、step into等按钮,在run菜单中也有对应子菜单,相关功能也有对应快捷键,如F8、F7等。在右下角标记蓝色的框内能观察到对应变量的值。除了常规的step into和step over功能之外,PyCharm还提供了如下调试功能:

1、 step into(单步跟踪进入,遇函数进入函数代码执行):快捷键为F7,执行下一行,如果遇到子函数会进入子函数执行,包括调用标准库模块的子函数都会进入;

2、 step over(单步跟踪,遇函数当成一行代码执行,不会进入函数内执行):快捷键为F8,执行下一行,如果遇到子函数不会进入子函数执行,将子函数作为一行执行,但如果子函数中有断点会执行到断点处;

3、 Step into my code(执行到应用代码),从当前系统模块函数代码中直接往下执行直到执行到应用本身的代码,快捷键为Alt+Shift+F7,当执行step into进入一个系统模块的代码中去以后,使用该功能可以回到自己的代码并继续向下行执行,这个功能老猿觉得应该某些时候非常有用;

4、 Force Step into(强制单步执行但忽略调试过滤条件):快捷键也为Alt+Shift+F7,但菜单栏是灰色的,查阅相关资料说当调用了一个类库方法时候,强制进入会进入到该类库的方法里面,哪怕是class代码,这一般没必要,所以必须强制才能进去。另外从菜单的hint信息中,是说对于逐步调试过滤的库、构造函数等也强制进入,如果是这样应该有个地方可以设置调试过滤的地方,老猿暂时没有这个功能。因此这个功能老猿没弄明白是什么意思,因为老猿验证使用step into调用系统标准模块也会进入标准模块的构造函数执行,并且在老猿测试过程中,该按钮始终为不可用状态,不能点击;

5、 step out(执行跳出当前函数):快捷键为Shift+F8,当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数;

6、 smart step into(智能单步跟踪):快捷键为:Shift+F7,这个在按钮中没有,在菜单中有,这个功能也是一个非常有用的功能,当一行代码中有多个函数,想进入其中一个函数其他函数不进入,使用该功能可以让调试人员选择进入的函数。如:
在这里插入图片描述
就可以选择需要调试进入的函数而其他两个函数不进入。
注意:如果想选择上面3个函数中的2个执行必须在执行第一个函数返回时再选择这种模式执行。另外该方式执行到调试的函数内时,如果还需要继续选择调试下一个函数,需要在当前执行函数的return语句去选择该方式执行,在其他地方该方式执行等同于断点恢复执行执行功能。

7、 Force Step over(强制单步跟踪):快捷键为Alt+Shift+F8,与step over类似,只是函数中的断点全部会disable不会发生作用,所以为Force;

8、 run to cursor(执行到光标):快捷键为Alt+F9,执行到当前光标所在代码,中间如果有断点会在断点处停止;

9、 Force run to cursor(强制执行到光标):快捷键为Ctrl+Alt+F9,执行到当前光标所在代码,中间如果有断点会全部忽略不停止;

10、 Jump to Cursor(跳转到光标):忽略其他代码,直接从当前执行处跳转到当前光标代码行;

11、 resume programe(断点恢复执行):快捷键F9,直接从当前处往下执行,直到遇到下一个断点。

本节介绍了PyCharm的debug方法,可见PyCharm的调测功能还是比较强大的。

老猿Python,跟老猿学Python!
博客地址:http://iyenn.com/index/link?url=https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:http://iyenn.com/rec/324322.html
请大家多多支持,点赞、评论和加关注!谢谢!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树预备知识常用开发工具333538 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/101031537"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top