python中有个pdb模块,使python代码也可以像
gdb那样进行调试,一般情况下pdb模块可以在代码内
直接使用,也可以通过命令行参数的形式添加该模块进
行调试(python -m pdb file.py)。
在代码中直接使用pdb模块调试时,import pdb
模块后,然后在需要调试的代码出添加pdb.set_trace()
命令即可,运行程序后,在运行到次代码处会自动停止,
进入调试模式。
常用的调试方法:
q 退出debug
h 打印可用的调试命令
b 设置断点,b 5 在第五行设置断点
h command 打印command的命令含义
disable codenum 使某一行断点失效
enable codenum 使某一行的断点有效
condition codenum xxx 针对断点设置条件
c 继续执行程序,直到下一个断点
n 执行下一行代码,如果当前语句有函数调用,则不会进入函数体中
s 执行下一行代码,但是s会进入函数
w 打印当前执行点的位置
j codenum 让程序跳转到指定的行
l 列出附近的源码
p 打印一个参数的值
a 打印当前函数及参数的值
回车 重复执行上一行
这里主要介绍两种调试方式
python -m pdb xx.py
1. n调试,单步调试,但是当前语句有函数调用不会进入函数体。
2. s调试,单步调试,进入函数体内