python的调试

简介: 在python脚本中可以用pdb进行调试,具体方法如下: 1.使用run语句调试,格式为: run(statement[,globals[,locals]]) 参数含义如下 statement:要调试的语句块,以字符串的形式globals:可选参数,设置statement运行的全局环境变量l...

在python脚本中可以用pdb进行调试,具体方法如下:

1.使用run语句调试,格式为:

run(statement[,globals[,locals]])

参数含义如下

statement:要调试的语句块,以字符串的形式
globals:可选参数,设置statement运行的全局环境变量
locals:可选参数,设置statement运行的局部环境变量

以下实例使用run函数调试语句块
>>> pdb.run('''
for i in range(0,3):
 i=i**2
 print(i)
''')
> <string>(2)<module>()
(Pdb) n                         #(Pdb)为调试命令提示符,n表示执行下一行
> <string>(3)<module>()
(Pdb) n
> <string>(4)<module>()
(Pdb) n
0
> <string>(2)<module>()
(Pdb) continue                  #继续运行程序
1
4


运行函数
在python中可以使用pdb模块的runcall函数来调试函数,其原型如下:
runcall(function[,argument,...])
参数含义如下:
function:  函数名
argument:  函数的参数
以下实例使用runcall函数来调试函数

>>> import pdb
>>> def sum(*args):
 r=0
 for arg in args:
  r=r+arg
 return r

>>> pdb.runcall(sum,1,2,3,4)
> <pyshell#13>(2)sum()
(Pdb) n
> <pyshell#13>(3)sum()
(Pdb) print r
0
(Pdb) continue
10
>>> pdb.runcall(sum,1,2,3,4,5,6)
> <pyshell#13>(2)sum()
(Pdb) continue
21

设置硬断点
在python中可以使用pdb模块的set_trace函数在脚本中设置硬断点。set_trace函数一般在".py"脚本中使用。其函数原型如下:
set_trace()
以下实例使用run函数调试语句块
> e:\python32\debug.py(3)<module>()
-> for i in range(0,5):
(Pdb) list                         #使用list列出脚本内容
  1   import pdb
  2   pdb.set_trace()
  3  -> for i in range(0,5):
  4    i=i*5
  5    print(i)
[EOF]
(Pdb) continue                     #使用continue继续执行
0
5
10
15
20

相关文章
|
7月前
|
安全 程序员 Python
Python中的异常处理与错误调试
【4月更文挑战第8天】本文探讨Python中的异常处理和错误调试,将其比喻为驾驶过程中的意外情况。异常是程序执行时的非正常事件,如文件缺失或网络故障,而错误是代码本身的逻辑或语法问题。Python通过try-except语句处理异常,确保程序在遇到问题时不会立即崩溃。错误调试则需定位问题根源,利用pdb等工具逐行检查代码。这两个技能对保持代码稳定性和可靠性至关重要,能增强程序应对意外的能力并帮助修复潜在问题。
50 1
|
7月前
|
开发框架 人工智能 Rust
Python 潮流周刊#12:Python 中如何调试死锁问题?
Python 潮流周刊#12:Python 中如何调试死锁问题?
55 0
|
1月前
|
存储 JSON 监控
告别Print,使用IceCream进行高效的Python调试
本文将介绍**IceCream**库,这个专门用于调试的工具显著提升了调试效率,使整个过程更加系统化和规范化。
60 2
告别Print,使用IceCream进行高效的Python调试
|
3月前
|
监控 Python Windows
python知识点100篇系列-pysnooper用于调试
PySnooper是一个便捷的Python调试工具,用于监控代码执行过程及局部变量的变化,替代繁琐的打印语句。作为GitHub上的热门开源项目,它通过装饰器自动记录代码执行细节。安装简便,支持多种平台,可通过pip安装。使用时,只需在目标函数上添加装饰器即可实时查看变量变化或将其记录至日志文件。此外,还支持使用with块对特定代码段进行调试。更多详细信息可参阅其官方使用文档。
python知识点100篇系列-pysnooper用于调试
|
4月前
|
JavaScript 前端开发 ice
简单实用,Python代码调试利器~
简单实用,Python代码调试利器~
55 4
简单实用,Python代码调试利器~
使用icecream优雅调试Python代码
在大型项目中,使用print()调试代码可能导致终端输出过多,难以分辨输出结果与代码的对应关系。为了更清晰地调试,可以采用Icecream库。通过使用Icecream,可以更有效地进行Python代码调试,同时保持代码的整洁性。
|
4月前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
41 2
|
4月前
|
搜索推荐 JavaScript 前端开发
简单实用,Python代码调试利器/java代码的设计和解读
尽管有许多高级调试工具,但在多数情况下,`print()`仍是便捷之选。`icecream`库则将`print()`调试法发挥到极致,简化变量检查与信息输出,提升调试效率。无论是基本变量还是复杂数据结构,`icecream`都能轻松应对,并支持自定义输出格式,让你的调试工作更高效。下面,让我们一起探索`icecream`的更多实用功能吧!
24 0
|
4月前
|
搜索推荐 JavaScript 前端开发
简单实用,Python代码调试利器
简单实用,Python代码调试利器
|
4月前
|
监控 Java Serverless
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
下一篇
DataWorks