Ubuntu上Python如何进行调试
导读:Ubuntu上Python调试的常用方法 1. 使用内置pdb模块(命令行调试) pdb是Python标准库中的调试工具,无需额外安装,适合快速定位代码问题。 设置断点:在代码中插入import pdb; pdb.set_trace( ,...
Ubuntu上Python调试的常用方法
1. 使用内置pdb模块(命令行调试)
pdb是Python标准库中的调试工具,无需额外安装,适合快速定位代码问题。
- 设置断点:在代码中插入
import pdb; pdb.set_trace()
,程序执行到该行会暂停并进入交互模式。 - 常用命令:
l
(list):显示当前代码行及上下文;n
(next):执行下一行(不进入函数);s
(step):进入函数调用;c
(continue):继续执行至下一个断点;p < 变量>
(print):打印变量值;q
(quit):退出调试器。
2. 使用IDE内置调试器(图形化调试)
PyCharm
- 安装与配置:通过
snap install pycharm-community --classic
安装社区版;打开项目后,点击右上角“Add Configuration”,选择“Python”,设置脚本路径和工作目录。 - 调试步骤:在代码行号旁点击设置断点,点击工具栏“调试”按钮(虫子图标),程序暂停后可通过调试面板查看变量、调用栈,或使用工具栏按钮单步执行。
Visual Studio Code(VS Code)
- 准备步骤:安装Python扩展(Microsoft官方扩展);在项目根目录创建
.vscode/launch.json
文件,配置如下:{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${ file} ", "console": "integratedTerminal" } ] }
- 调试流程:在代码行号旁点击设置断点,点击左侧“调试图标”(虫子图标),再点击绿色“开始调试”按钮,即可通过调试工具栏控制执行并查看变量。
3. 使用第三方增强调试工具
ipdb(增强版pdb)
ipdb在pdb基础上增加了语法高亮、自动补全等功能,提升调试体验。
- 安装与使用:通过
pip install ipdb
安装;在代码中用import ipdb; ipdb.set_trace()
替换pdb断点,启动后会进入增强的交互模式。
PySnooper(自动日志记录)
PySnooper可自动记录函数执行过程中的变量变化,无需手动插入print语句。
- 安装与使用:通过
pip install pysnooper
安装;在函数前添加装饰器@pysnooper.snoop()
,运行程序后会输出详细的执行日志(包括变量值、执行行号)。
4. 使用logging模块(结构化日志)
logging模块适合长期记录程序运行状态,便于后续分析。
- 基本配置:通过
logging.basicConfig
设置日志级别(如DEBUG
)和格式,代码中用logging.debug()
输出调试信息。 - 示例代码:
运行后会输出类似import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') def divide(a, b): logging.debug(f'Dividing { a} by { b} ') return a / b result = divide(10, 2)
2025-09-25 10:00:00 - DEBUG - Dividing 10 by 2
的日志信息。
5. 使用assert语句(快速检查条件)
assert语句用于检查代码中的关键条件,若条件不满足则抛出AssertionError
,适合快速定位逻辑错误。
- 示例代码:
def calculate_discount(price, discount): assert discount > = 0 and discount < = 1, "Discount must be between 0 and 1" return price * (1 - discount) result = calculate_discount(100, 1.5) # 触发AssertionError
6. 使用gdb调试C扩展
若Python程序使用了C/C++扩展(如通过Cython编写的模块),可使用gdb调试底层代码。
- 安装与使用:通过
sudo apt-get install gdb python-dbg
安装gdb和python调试符号;启动gdb并附加到Python进程(sudo gdb -p < pid>
),使用py-bt
命令查看Python调用栈,结合C调试命令(如bt
查看C栈)定位问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上Python如何进行调试
本文地址: https://pptw.com/jishu/715645.html