python程序的在线调试方法

1、程序调试

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

2、在线调试

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

python程序的在线调试方法_第1张图片

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

python程序的在线调试方法_第2张图片

3、解决问题

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

python程序的在线调试方法_第3张图片

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中选择安装另外一个版本来安装一下即可。

python程序的在线调试方法_第4张图片

     选择安装 2022.8.0版本即可,python3.6又可以在线调试了。python程序的在线调试方法_第5张图片

你可能感兴趣的:(pyqt5编程,python,Qt,Debug,在线调试)