Ubuntu下Python调试环境设置方法
pdb是Python标准库自带的命令行调试工具,无需额外安装,适合简单调试或脚本快速排查问题。
import pdb; pdb.set_trace(),程序执行到该行会进入交互式调试模式。n(next):执行下一行代码(跳过函数调用);s(step):执行下一行代码并进入函数内部;c(continue):继续执行直到下一个断点或程序结束;p 变量名(print):打印指定变量的值;l(list):显示当前代码段的上下文(默认显示断点前后5行);q(quit):退出调试器并终止程序。PyCharm是Python开发的主流IDE,提供可视化调试界面,适合复杂项目或需要精细调试的场景。
sudo snap install pycharm-community --classic。Add Configuration→选择Python→设置Script path(脚本文件路径)、Working directory(项目工作目录)、Parameters(脚本参数,可选)→点击OK保存。Run→Debug启动,程序会在断点处暂停。Step Over(F8,执行当前行)、Step Into(F7,进入函数)、Step Out(Shift+F8,跳出函数)、Resume Program(F9,继续执行)控制流程;Variables(变量)或Watches(监视)窗口查看变量值;Run(运行)窗口查看程序输出和日志。VS Code是轻量级代码编辑器,通过安装Python扩展可实现便捷调试,适合偏好简洁界面的开发者。
Python并安装Microsoft官方扩展。F5或点击左侧调试图标→点击create a launch.json file→选择Python环境→修改配置:{
"name": "Python Debug",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/your_script.py", // 脚本路径(${workspaceFolder}表示项目根目录)
"console": "integratedTerminal", // 使用集成终端
"workingDirectory": "${workspaceFolder}" // 工作目录
}
若需调试Python解释器本身的C扩展或底层问题(如C编写的Python模块),可使用gdb结合python-dbg包。
sudo apt-get install gdb python-dbg。sudo gdb -p <PID>(<PID>为Python进程ID,可通过ps aux | grep python获取);py-bt命令(显示Python层调用栈),bt命令(显示C层调用栈);info threads(查看线程信息)、thread <ID>(切换线程)、print <变量名>(打印变量值)。breakpoint()函数,可替代pdb.set_trace(),更简洁且支持环境变量控制(如PYTHONBREAKPOINT=0禁用断点)。logging模块记录程序运行信息,适合长期运行的程序或分布式系统调试:import logging
logging.basicConfig(
filename='app.log',
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logging.debug('This is a debug message') # 记录调试信息
unittest或pytest框架编写单元测试,验证代码逻辑的正确性,避免重复手动调试。