Ubuntu中Python调试的常用方法
pdb是Python标准库中的调试工具,无需额外安装,适合简单的命令行调试场景。
import pdb; pdb.set_trace(),程序执行到该行时会暂停。python -m pdb your_script.py运行脚本,或直接执行脚本(若已插入断点)。n(next):执行下一行代码;s(step):进入函数内部;c(continue):继续执行至下一个断点或程序结束;p <变量名>(print):打印变量值;l(list):显示当前代码上下文;q(quit):退出调试。ipdb在pdb基础上增加了语法高亮、自动补全等功能,提升调试体验。
pip install ipdb安装。pdb.set_trace()替换为ipdb.set_trace(),运行脚本后进入交互式调试界面,命令与pdb一致。PyCharm是专业的Python IDE,提供图形化调试界面,适合复杂项目。
snap install pycharm-community --classic安装社区版。Shift+F9。F8(逐步执行)、F7(进入函数)、Shift+F8(跳出函数)控制流程。VS Code是轻量级但功能强大的编辑器,通过安装Python扩展支持调试。
launch.json文件(配置Python解释器、脚本路径等)。通过logging模块记录程序运行状态,适合大型项目或长期运行的程序。
import logging; logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')。logging.debug('变量值: %s', variable),运行脚本后输出详细日志信息。assert语句用于检查程序中的假设条件,若条件为False则抛出AssertionError,适合快速捕获逻辑错误。
assert b != 0, "除数不能为零",当b=0时程序终止并提示错误信息。GDB是Linux下的强大命令行调试工具,可调试Python进程的底层状态(如C扩展问题)。
sudo apt install gdb安装。ps aux | grep python);sudo gdb -p <PID>附加到进程;py-bt查看Python调用栈,py-list查看当前代码,bt查看系统调用栈。