Add the "interact" pdb command from pdb++.
This commit is contained in:
parent
732324a3f8
commit
1acb746d79
|
@ -407,6 +407,14 @@ by the local file.
|
||||||
|
|
||||||
.. versionadded:: 3.2
|
.. versionadded:: 3.2
|
||||||
|
|
||||||
|
.. pdbcommand:: interact
|
||||||
|
|
||||||
|
Start an interative interpreter (using the :mod:`code` module) whose global
|
||||||
|
namespace contains all the (global and local) names found in the current
|
||||||
|
scope.
|
||||||
|
|
||||||
|
.. versionadded:: 3.2
|
||||||
|
|
||||||
.. _debugger-aliases:
|
.. _debugger-aliases:
|
||||||
|
|
||||||
.. pdbcommand:: alias [name [command]]
|
.. pdbcommand:: alias [name [command]]
|
||||||
|
|
19
Lib/pdb.py
19
Lib/pdb.py
|
@ -67,15 +67,16 @@ Debugger commands
|
||||||
# commands and is appended to __doc__ after the class has been defined.
|
# commands and is appended to __doc__ after the class has been defined.
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import linecache
|
|
||||||
import cmd
|
import cmd
|
||||||
import bdb
|
import bdb
|
||||||
import dis
|
import dis
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import code
|
||||||
import pprint
|
import pprint
|
||||||
import traceback
|
|
||||||
import inspect
|
import inspect
|
||||||
|
import traceback
|
||||||
|
import linecache
|
||||||
|
|
||||||
|
|
||||||
class Restart(Exception):
|
class Restart(Exception):
|
||||||
|
@ -1167,6 +1168,16 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
||||||
# None of the above...
|
# None of the above...
|
||||||
self.message(type(value))
|
self.message(type(value))
|
||||||
|
|
||||||
|
def do_interact(self, arg):
|
||||||
|
"""interact
|
||||||
|
|
||||||
|
Start an interative interpreter whose global namespace
|
||||||
|
contains all the (global and local) names found in the current scope.
|
||||||
|
"""
|
||||||
|
ns = self.curframe.f_globals.copy()
|
||||||
|
ns.update(self.curframe_locals)
|
||||||
|
code.interact("*interactive*", local=ns)
|
||||||
|
|
||||||
def do_alias(self, arg):
|
def do_alias(self, arg):
|
||||||
"""alias [name [command [parameter parameter ...] ]]
|
"""alias [name [command [parameter parameter ...] ]]
|
||||||
Create an alias called 'name' that executes 'command'. The
|
Create an alias called 'name' that executes 'command'. The
|
||||||
|
@ -1342,8 +1353,8 @@ if __doc__ is not None:
|
||||||
'help', 'where', 'down', 'up', 'break', 'tbreak', 'clear', 'disable',
|
'help', 'where', 'down', 'up', 'break', 'tbreak', 'clear', 'disable',
|
||||||
'enable', 'ignore', 'condition', 'commands', 'step', 'next', 'until',
|
'enable', 'ignore', 'condition', 'commands', 'step', 'next', 'until',
|
||||||
'jump', 'return', 'retval', 'run', 'continue', 'list', 'longlist',
|
'jump', 'return', 'retval', 'run', 'continue', 'list', 'longlist',
|
||||||
'args', 'print', 'pp', 'whatis', 'source', 'alias', 'unalias',
|
'args', 'print', 'pp', 'whatis', 'source', 'interact', 'alias',
|
||||||
'debug', 'quit',
|
'unalias', 'debug', 'quit',
|
||||||
]
|
]
|
||||||
|
|
||||||
for _command in _help_order:
|
for _command in _help_order:
|
||||||
|
|
|
@ -45,6 +45,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Add the "interact" pdb command.
|
||||||
|
|
||||||
- Issue #7905: Actually respect the keyencoding parameter to shelve.Shelf.
|
- Issue #7905: Actually respect the keyencoding parameter to shelve.Shelf.
|
||||||
|
|
||||||
- Issue #1569291: Speed up array.repeat().
|
- Issue #1569291: Speed up array.repeat().
|
||||||
|
|
Loading…
Reference in New Issue