Two changes suggested by Andrew Kuchling:
- move compile() inside try-except - add code so you can do "python pdb.py <script> <arg> ..." to debug <script>
This commit is contained in:
parent
81749b0754
commit
f17361d314
18
Lib/pdb.py
18
Lib/pdb.py
|
@ -1,3 +1,5 @@
|
||||||
|
#! /usr/local/bin/python
|
||||||
|
|
||||||
# pdb.py -- finally, a Python debugger!
|
# pdb.py -- finally, a Python debugger!
|
||||||
|
|
||||||
# (See pdb.doc for documentation.)
|
# (See pdb.doc for documentation.)
|
||||||
|
@ -74,8 +76,8 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
||||||
locals = self.curframe.f_locals
|
locals = self.curframe.f_locals
|
||||||
globals = self.curframe.f_globals
|
globals = self.curframe.f_globals
|
||||||
globals['__privileged__'] = 1
|
globals['__privileged__'] = 1
|
||||||
code = compile(line + '\n', '<stdin>', 'single')
|
|
||||||
try:
|
try:
|
||||||
|
code = compile(line + '\n', '<stdin>', 'single')
|
||||||
exec code in globals, locals
|
exec code in globals, locals
|
||||||
except:
|
except:
|
||||||
if type(sys.exc_type) == type(''):
|
if type(sys.exc_type) == type(''):
|
||||||
|
@ -490,3 +492,17 @@ def help():
|
||||||
else:
|
else:
|
||||||
print 'Sorry, can\'t find the help file "pdb.doc"',
|
print 'Sorry, can\'t find the help file "pdb.doc"',
|
||||||
print 'along the Python search path'
|
print 'along the Python search path'
|
||||||
|
|
||||||
|
# When invoked as main program, invoke the debugger on a script
|
||||||
|
if __name__=='__main__':
|
||||||
|
import sys
|
||||||
|
if not sys.argv[1:]:
|
||||||
|
print "usage: pdb.py scriptfile [arg] ..."
|
||||||
|
sys.exit(2)
|
||||||
|
|
||||||
|
# Get the module name and function name, if present
|
||||||
|
filename = sys.argv[1]
|
||||||
|
|
||||||
|
del sys.argv[0]
|
||||||
|
|
||||||
|
run('execfile(' + `filename` + ')', {'__name__': '__main__'})
|
||||||
|
|
Loading…
Reference in New Issue