Add --pdb
src/python/m5/main.py: Add a command line option to invoke pdb on your script --HG-- extra : convert_revision : ef5a2860bd3f6e479fa80eccaae0cb5541a20b50
This commit is contained in:
parent
10a8769d6d
commit
bf4fdbe25a
1 changed files with 15 additions and 2 deletions
|
@ -119,6 +119,8 @@ add_option('-d', "--outdir", metavar="DIR", default=".",
|
||||||
help="Set the output directory to DIR [Default: %default]")
|
help="Set the output directory to DIR [Default: %default]")
|
||||||
add_option('-i', "--interactive", action="store_true", default=False,
|
add_option('-i', "--interactive", action="store_true", default=False,
|
||||||
help="Invoke the interactive interpreter after running the script")
|
help="Invoke the interactive interpreter after running the script")
|
||||||
|
add_option("--pdb", action="store_true", default=False,
|
||||||
|
help="Invoke the python debugger before running the script")
|
||||||
add_option('-p', "--path", metavar="PATH[:PATH]", action='append', split=':',
|
add_option('-p', "--path", metavar="PATH[:PATH]", action='append', split=':',
|
||||||
help="Prepend PATH to the system path when invoking the script")
|
help="Prepend PATH to the system path when invoking the script")
|
||||||
add_option('-q', "--quiet", action="count", default=0,
|
add_option('-q', "--quiet", action="count", default=0,
|
||||||
|
@ -287,8 +289,19 @@ def main():
|
||||||
sys.path = [ os.path.dirname(sys.argv[0]) ] + sys.path
|
sys.path = [ os.path.dirname(sys.argv[0]) ] + sys.path
|
||||||
|
|
||||||
scope = { '__file__' : sys.argv[0] }
|
scope = { '__file__' : sys.argv[0] }
|
||||||
exec("import readline", scope)
|
|
||||||
execfile(sys.argv[0], scope)
|
# we want readline if we're doing anything interactive
|
||||||
|
if options.interactive or options.pdb:
|
||||||
|
exec("import readline", scope)
|
||||||
|
|
||||||
|
# if pdb was requested, execfile the thing under pdb, otherwise,
|
||||||
|
# just do the execfile normally
|
||||||
|
if options.pdb:
|
||||||
|
from pdb import Pdb
|
||||||
|
debugger = Pdb()
|
||||||
|
debugger.run('execfile("%s")' % sys.argv[0], scope)
|
||||||
|
else:
|
||||||
|
execfile(sys.argv[0], scope)
|
||||||
|
|
||||||
# once the script is done
|
# once the script is done
|
||||||
if options.interactive:
|
if options.interactive:
|
||||||
|
|
Loading…
Reference in a new issue