千家信息网

在Linux 下如何调试 Python

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,在Linux 下如何调试 Python,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一般开发者都是在 IDE 中进行程序的调试,当然,有
千家信息网最后更新 2026年11月03日在Linux 下如何调试 Python

在Linux 下如何调试 Python,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一般开发者都是在 IDE 中进行程序的调试,当然,有 IDE 的话,当然首选 IDE 进行调试。

但是,有时我们的业务场景,限制只能在 Linux 命令行模式进行调试。

这时该怎么办呢?

大家介绍一个 Linux 下调试 Python 程序的工具。

pdb简介

pdb 调试器是 Python 标准库提供的,因此最为方便,不需要安装其他组件,直接 import 后就能使用。

pdb 调试器提供了调试所需的大多数功能,如断点、单行步进、堆栈帧的检查等等。

常用命令

l # 查看运行到哪行代码

n # 单步运行,跳过函数

s # 单步运行,可进入函数

p 变量 # 查看变量值

b 行号 # 断点设置到第几行

b # 显示所有断点列表

cl 断点号 # 删除某个断点

cl # 删除所有断点

c # 跳到下一个断点

r # return 当前函数

exit # 退出

复制代码

使用示例

本文 Python 环境:Python 3.5.2

我们先准备一小段演示程序:

# -*- coding: utf-8 -*-

def add(a, b):

return a + b

if __name__ == '__main__':

print("===start===")

c = add(1, 3)

print("===end===")

复制代码

使用方法 1:

运行 pdb 的最简单方法是从命令行,将程序作为参数传递来调试。

$ python -m pdb test_pdb.py

复制代码

这时,就开始单步执行了。

这种方法对代码没有侵入性,但是每次都需要设置断点。

使用方法 2:

在代码头部引入 pdb,然后可以在代码里,通过 pdb.set_trace() 来设置断点:

# -*- coding: utf-8 -*-

import pdb

def add(a, b):

pdb.set_trace()

return a + b

if __name__ == '__main__':

print("===start===")

pdb.set_trace()

c = add(1, 3)

print("===end===")

复制代码

此时,运行程序,就会自动跳转到设置的断点处:

没了图形化页面,调试只能这么来了,不过还好,pdb 使用看着不难吧。

其实还有一些增强的调试器,比如 IPython 的 ipdb 和 pdb++,它们一般都提供了更好的用户体验,添加了有用的额外功能,例如语法突出高亮、更好的回溯和自省。

看完上述内容,你们掌握在Linux 下如何调试 Python的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

断点 代码 方法 程序 运行 函数 命令 调试器 使用方法 内容 功能 更多 问题 utf-8 束手无策 为此 业务 原因 参数 变量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网龙头 金诺互联网科技 互联网科技公司发展 互联网科技股票 南京欣网互联网科技 互联网公司会议桌创意科技软装饰 广州慧亚互联网科技怎么样 中国的互联网科技企业的崛起 阿里互联网科技公司 互联网金融科技公司干啥的 广州恒生互联网科技有限 黑科技闪耀互联网之光 国大互联网教育科技有限公司工作 伍佰万互联网科技怎么赚钱 陕西云淼互联网科技公司 吉林省码上互联网科技电话 普陀区互联网教育科技管理办法 互联网公司属于科技吗 长沙渺峰互联网科技有限公司 小牛互联网科技有限公司地址 互联网科技有限公司 互联网科技名片 蓝思科技飞鸽互联网 中国互联网科技工作委员会毛军 苏州互联网科技贷款公司 互联网高科技企业 玖二柒互联网科技公司待遇 天速互联网络科技有限公司 北京华百购互联网科技有限公司 山东蛋芒互联网科技有限公司
0