是否可以忽略硬编码的 pdb 断点?

Vas*_*lis 5 debugging command-line python-2.7 pdb

我使用pdb该函数来调试包含硬编码断点的 Python 2.7 脚本pdb.set_trace()。当我想运行脚本而不在断点处停止时,我必须注释掉所有行pdg.set_trace(),然后当我想在断点处停止时,我必须删除注释,这是非常低效的。有没有办法(例如命令行标志)来执行 python 脚本,忽略所有硬编码断点。例如,许多像 PyCharm 这样的 IDE 都有忽略断点的运行模式和在断点处停止的调试模式。我可以从命令行做类似的事情吗?

ala*_*ljs 2

不,这不是 pdb 中的功能。但是,您可以将命令行选项处理写入程序中并设置一个全局变量,然后DEBUG_MODE = True 您只需将所有pdb.set_trace()调用修改为:

if DEBUG_MODE:
    pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)