在Ubuntu中调试Python程序有多种方法,以下是一些常用的方法:
pdb
模块Python自带的调试器pdb
可以通过命令行进行调试。
在代码中插入以下行来设置断点:
import pdb; pdb.set_trace()
运行程序时,程序会在该行暂停,并进入交互式调试模式。
l
(list): 显示当前代码行周围的代码。n
(next): 执行下一行代码。s
(step): 进入函数调用。c
(continue): 继续执行直到下一个断点。b
(break): 设置新的断点。p
(print): 打印变量的值。q
(quit): 退出调试器。许多集成开发环境(IDE)如PyCharm、VSCode等都提供了强大的调试功能。
Python: Current File
)。logging
模块logging
模块可以帮助你在代码中插入日志信息,以便跟踪程序的执行流程。
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
assert
语句assert
语句可以在代码中插入检查点,如果条件不满足,程序会抛出AssertionError
。
def divide(a, b):
assert b != 0, "Cannot divide by zero"
return a / b
traceback
模块traceback
模块可以帮助你打印出详细的错误信息和调用栈。
import traceback
try:
# 你的代码
pass
except Exception as e:
traceback.print_exc()
gdb
调试C扩展如果你在Python程序中使用了C扩展,可以使用GNU调试器(gdb
)进行调试。
安装gdb
:
sudo apt-get install gdb
启动gdb
并附加到Python进程:
gdb python <pid>
在gdb
中使用各种命令进行调试。
选择哪种方法取决于你的具体需求和偏好。对于简单的调试,pdb
和logging
模块通常足够使用。对于更复杂的项目,IDE内置的调试器提供了更直观和强大的功能。