当前位置: 首页 > 科技观察

人生苦短我用Python[0x02]如何调试Python程序

时间:2023-03-12 22:23:53 科技观察

今天就来介绍一下如何调试Python程序。0.安装基础包以Ubuntu16.04为例sudoapt-getinstallgdbpython2.7-dbg1。如何调试python代码我们将使用python自带的pdb模块来调试代码。在熟悉pdb功能之前,先写一段测试代码1.pya=1b=1c=a+bprintc使用pdb模块静态调试python代码并执行pdb1.py返回如下输入h返回pdb的命令列表,其中包含所有命令及其缩写。比如h代表查看代码的帮助内容命令是list,缩写是l。list命令的参数格式为list[first,last]。默认情况下,list将输出文件中的前11行代码。比如我们的文件代码只有几行,列出的时候会提示EOF文件结束。如果你想再看一遍代码,你可以使用列表0从头开始??。我们现在要测试断点功能,b3表示我要在代码的第三行设置断点,r表示run运行程序,然后程序会停留在我断点的位置,此时这个时候我可以用p打印出a和b的变量值内容,接下来我继续用n运行next,然后我打印c的变量值。2、如何调试已经运行的python程序以上介绍了一些关于如何调试python程序的基础知识。接下来,我们将介绍如何调试已经运行的python程序。比如在实际工作中,写了一个python程序,在运行后发现程序异常或者无法响应业务。这时候可以使用gdb附加进程,然后查看调用栈信息,这样就可以知道程序当前挂载到哪里了。先写一个测试代码2.py,我们使用time.sleep函数模拟一个挂起的程序importtimetime.sleep(10000)来运行程序python2.py首先查看正在运行的2.py的pid,然后Execute命令gdbpythonpid#查看当前堆栈信息py-bt#我们可以看到程序当前挂在time.sleep(10000)的调用上作者】点击这里查看更多该作者的好文章【责任编辑:xinxiaoliangTEL:(010)68476606]