ubuntu

Python在Ubuntu中如何进行调试

小樊
58
2025-09-19 01:47:29
栏目: 编程语言

Python在Ubuntu中的调试方法

1. 命令行调试工具:pdb/ipdb

pdb是Python自带的命令行调试器,无需额外安装,适合基础调试场景。使用时,在代码中插入import pdb; pdb.set_trace(),运行脚本后会暂停在断点处,进入交互模式。常用命令包括:n(执行下一行)、s(进入函数)、c(继续至下一断点)、p 变量(打印变量值)、l(显示当前代码上下文)、q(退出调试)。
ipdb是pdb的增强版,提供语法高亮和自动补全,提升调试体验。安装方式为pip install ipdb,使用方法与pdb一致,只需将pdb.set_trace()替换为ipdb.set_trace()即可。

2. 集成开发环境(IDE)调试

PyCharm(社区版)

PyCharm是Python专业IDE,提供图形化调试界面。安装步骤:通过snap install pycharm-community --classic安装;配置调试:打开项目,点击顶部菜单RunEdit Configurations,选择Python,设置脚本路径(Script path)、工作目录(Working directory),点击OK保存;设置断点:点击代码行号左侧空白处;启动调试:点击工具栏绿色虫子图标或按Shift+F9,程序会在断点处暂停,可通过调试面板查看变量、调用栈,或使用单步执行按钮(下一步、步入、步出)控制流程。

Visual Studio Code(VS Code)

VS Code是轻量级编辑器,通过安装Python扩展(搜索“Python”并安装)支持调试。配置步骤:打开项目,按下F5或点击左侧调试图标(虫子形状),选择Python环境,生成launch.json文件(包含调试配置,如脚本路径、参数);设置断点:点击行号左侧;启动调试:点击调试图标上的绿色箭头,程序进入调试模式,可通过调试面板查看变量、监视表达式,或使用调试工具栏控制执行。

3. 日志记录调试

使用Python内置的logging模块记录程序运行状态,适合长期运行的项目或复杂逻辑调试。配置示例:import logging; logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')(设置日志级别为DEBUG,输出格式包含时间、级别、消息);在代码中添加日志语句:logging.debug('变量值:%s', variable)(打印变量值)、logging.info('流程进入某函数')(记录流程信息)。运行脚本后,日志会输出到控制台,便于追踪程序执行流程和变量变化。

4. 第三方调试工具

PySnooper

PySnooper可自动记录函数内变量的变化,无需手动插入打印语句。安装方式:pip install pysnooper;使用方法:在需要调试的函数前添加装饰器@pysnooper.snoop(),运行函数后,终端会输出变量修改的详细过程(如变量名、旧值、新值)及执行时间线,帮助快速定位变量异常。

Spyder

Spyder是科学计算常用IDE,内置调试工具。安装方式:sudo apt install spyder;使用步骤:启动Spyder,打开Python脚本,点击代码行号左侧设置断点,点击顶部菜单DebugDebug file(或按Ctrl+F5),程序进入调试模式,可通过调试面板查看变量、调用栈,或使用单步执行按钮控制流程。

5. gdb调试(针对底层问题)

gdb是强大的命令行调试工具,可用于调试Python解释器或涉及C扩展的程序。安装步骤:sudo apt install gdb python-dbg(python-dbg包含调试符号);调试运行中的进程:获取进程ID(ps aux | grep python),使用sudo gdb -p PID附加到进程;查看Python调用栈:在gdb中输入py-bt(显示Python调用栈)、py-list(显示当前Python代码),帮助定位底层崩溃或性能问题。

0
看了该问题的人还看了