Use filename as the Python program to be debugged. It is compiled and becomes is the program executed when you use the `run' command. If no filename is given, this means to set things so there is no Python file.
Restart debugger and program via an exec
call. All state
is lost, and new copy of the debugger is used.
Sometimes in debugging it is necessary to modify module code when one
finds a bugs in them. Python will not notice dynamically that a module
has changed and thus not reimport it (which also means that module
initialization code is not rerun either). So in such a situation one
must use restart
rather than run
.1.2
Run or ``soft'' restart the debugged Python program. If a string is
supplied, it is split with shlex
but preserving embedded
quotes. The result is used as the new sys.argv
. History,
breakpoints, actions and debugger options are preserved. R
is
a short command alias for run
.
You may notice that the sometimes you can step
into modules
included via an import
statement, but after a run
this
stepping skips over the import rather than goes into it. A similar
situation is that you may have a breakpoint set inside class
__init__
code, but after issuing run
this doesn't seem
to get called--and in fact it isn't run again!
That's because in Python the import
occurs only once. In fact,
if the module was imported before invoking the program, you
might not be able to step inside an import
the first time as
well.
In such a situation or other situations where run
doesn't seem
to have the effect of getting module initialization code executed,
you might try using restart
rather than run
.