В идеале, вы не должны включать код отладки в первую очередь. Вместо этого вы можете использовать оболочку, которая устанавливает точки останова и вызывает основную программу для отладки, так что основная программа вообще не содержит реальных вызовов set_trace()
.
# foo.py
print "hello"
print "goodbye"
и
#debug_foo.py
import pdb
def run_foo():
execfile('foo.py')
db = pdb.Pdb()
db.set_break("foo.py", 2)
db.run("run_foo()")
Пример:
<em>[~]$</em> <strong>python foo.py</strong>
hello
goodbye
<em>[~]$</em> <strong>python foo.py</strong>
> <string>(1)<module>()
(Pdb) <strong>continue</strong>
hello
> /home/dbornside/foo.py(1)<module>()
-> print "goodbye"
(Pdb) <strong>continue</strong>
goodbye
<em>[~]$</em>