【问题标题】:Python Debugging Using Pdb使用 Pdb 进行 Python 调试
【发布时间】:2015-03-03 14:23:44
【问题描述】:

我正在使用带有 ipdb 的交互式图形 Python 调试器(Canopy 的图形调试器)。我正在处理的脚本有多个导入的模块和对其各自函数的多个调用。每当我尝试调试运行时,执行都会卡在对导入模块函数(特别是子进程)的调用中的某个地方。我的两个主要问题是:

1) 在调试模式下运行会大大减慢速度吗?代码实际上并没有被卡住,而是以非常慢的速度运行吗?

2) 有没有办法完全传递一些代码并像我没有调试一样运行它们?我想防止调试器潜入子进程并像正常运行一样执行它。

我可能会扔掉图形调试器并从终端执行所有操作,但如果可以的话,我想避免这种情况,因为图形界面非常方便并且可以节省大量输入。

【问题讨论】:

  • 您的要求似乎有点矛盾——在调试器中运行 python 代码,但阻止调试器进入子进程。提示:要学习,如果调试器速度太慢(我不希望这样),请尝试从终端运行一次,您会看到。

标签: python debugging canopy ipdb


【解决方案1】:
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final

运行代码时的输出将开始调试,控制将在a="aaa" 之后停止

$ python abc.py
(Pdb) p a
'aaa'
(Pdb)

谢谢你,沙希

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多