Debian系统下调试Python代码的常用方法
pdb是Python标准库中的交互式调试器,无需额外安装,适合简单脚本调试。
import pdb; pdb.set_trace(),程序运行到该行时会进入调试模式。l(list):显示当前代码行周围的上下文;n(next):执行下一行代码(不进入函数);s(step):执行下一行代码(进入函数);c(continue):继续执行直到下一个断点或程序结束;p 变量名(print):打印变量的值;q(quit):退出调试模式。ipdb是pdb的增强版,提供语法高亮、自动补全等功能,提升调试体验。
pip install ipdb。import pdb; pdb.set_trace()替换为import ipdb; ipdb.set_trace(),运行脚本后进入调试模式,命令与pdb一致。Run→Debug(或按Shift+F9),程序会在断点处暂停。通过logging模块记录程序执行过程中的信息,适合长期运行的程序或生产环境。
import logging; logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')。logging.debug(f"变量值: {variable}"),运行后会输出时间、日志级别和自定义信息到控制台或文件。assert语句用于检查代码中的假设条件,若条件为False则抛出AssertionError,适合快速定位逻辑错误。
assert x > 0, "x必须为正数",当x≤0时程序会终止并显示错误信息。对于异步代码(如使用asyncio),可使用以下工具:
await关键字进入异步调用;aiomonitor start即可监控。若代码运行在远程Debian服务器上,可通过ptvsd模块实现远程调试:
pip install ptvsd。ptvsd.enable_attach(address=('0.0.0.0', 5678))和ptvsd.wait_for_attach(),启动程序后会等待本地调试器连接。