python程序的在线调试方法

1、程序调试

相信大多数程序员对于使用python语言或是在linux进行C语言程序编程常用的调试方法是printf,这个是一个大家都能相到的办法,遇到问题首先就是增加打印信息,查看log记录。对于产品部署在外面,是不一个不错的方法。但是这种方法相对于能进行在线调试的方法来说可以获得的信息量少,分析问题不那么快速。

2、在线调试

python是支持在线调试的,可能相关的书籍并没有对此做过多介绍,导致我认为它好像就不能在线调试一样。就在上周我遇到了一个QT界面程序长时间运行后界面卡死后,为了寻找解决问题的原因,我才想到了在线调试,一查发现QT还真支持在线调试。那么怎么使用在线调试呢,python的原生IDE是支持在线调试的,我使用的代码编译器vscode软件,vscode软件基于python的调试器提供了友好的界面支持,用起来体验更好。我就直接使用vscode进行了在线调试。如下图,打开程序选择右上角Debug Python File即可运行了。

进入调试界面后,左边窗口显示了程序运行的变量,调用堆栈,断点,如果需要在特定的代码位置停止观察数据,在行号前点击一下,出了个红点就可以了。

3、解决问题

      使用在线调试的方法,运行软件4个小时,发现了QT软件界面卡死,程序在一个while循环中出不来,如下图。即当pos = -1时,while循环无法退出,找到问题,解决问题就很容易了。

4、关于最近(2022年7月10日)无法调试

      最近时间vscode进行了一次升级,里面的python插件也同时进行了升级,python插件升级到2022.10.1 (14 July 2022)版本(插件的版本历史可以这里查看python插件版本历史),经过查看此版本不再支持python 3.6版本的调试,而我使用的python正是3.6版本的,所以无法进行调试。需要你在vscode中切换到历史版本2022.8.1 (28 June 2022)如可。如下图在vscode中选择安装另外一个版本来安装一下即可。

     选择安装 2022.8.0版本即可,python3.6又可以在线调试了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,有几种常见的调试方法可以帮助你找到和修复程序中的错误。下面是一些常用的Python程序调试技巧: 1. 使用print语句:在代码中插入print语句,输出一些关键变量的值,以便理解程序执行过程中的状态。这是最简单和常用的调试方法之一。 2. 使用assert语句:assert语句用于检查某个条件是否为真,如果条件为假,则会抛出AssertionError异常。通过在关键位置添加assert语句,可以验证程序的假设条件,并在条件不满足时中断程序执行。 3. 使用pdb模块:pdb是Python的内置调试器,可以让你逐行执行代码,并在任意位置设置断点。你可以使用`import pdb`导入pdb模块,并在需要调试的位置插入`pdb.set_trace()`来启动调试器。 4. 使用IDE的调试功能:许多集成开发环境(IDE)都提供了强大的调试功能,例如PyCharm、Visual Studio Code等。这些工具可以让你逐步执行代码、查看变量的值、设置断点等。 5. 使用日志记录:通过使用Python的logging模块,你可以在程序中插入日志记录语句,将关键信息输出到日志文件中。这样可以帮助你追踪程序的执行过程,并查找错误。 6. 使用try-except语句:使用try-except语句捕获异常,可以在程序出现异常时,打印出异常信息并进行处理。这样可以更好地了解程序中的问题所在。 以上是一些常见的Python程序调试方法。根据实际情况选择合适的调试方法,以帮助你找到和解决程序中的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值