diff options
author | Georg Brandl <georg@python.org> | 2010-12-04 11:20:26 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-12-04 11:20:26 (GMT) |
commit | 1acb746d79c2affbac6fb98e5abad1682bdf7f6f (patch) | |
tree | 1e8ebee864158a90388535f951538c6f81b2a3d5 | |
parent | 732324a3f86a352217b01ae2438b6db7691ae0b1 (diff) | |
download | cpython-1acb746d79c2affbac6fb98e5abad1682bdf7f6f.zip cpython-1acb746d79c2affbac6fb98e5abad1682bdf7f6f.tar.gz cpython-1acb746d79c2affbac6fb98e5abad1682bdf7f6f.tar.bz2 |
Add the "interact" pdb command from pdb++.
-rw-r--r-- | Doc/library/pdb.rst | 8 | ||||
-rwxr-xr-x | Lib/pdb.py | 19 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 25 insertions, 4 deletions
diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst index 3ef3696..db21d1f 100644 --- a/Doc/library/pdb.rst +++ b/Doc/library/pdb.rst @@ -407,6 +407,14 @@ by the local file. .. 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: .. pdbcommand:: alias [name [command]] @@ -67,15 +67,16 @@ Debugger commands # commands and is appended to __doc__ after the class has been defined. import sys -import linecache import cmd import bdb import dis import os import re +import code import pprint -import traceback import inspect +import traceback +import linecache class Restart(Exception): @@ -1167,6 +1168,16 @@ class Pdb(bdb.Bdb, cmd.Cmd): # None of the above... 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): """alias [name [command [parameter parameter ...] ]] 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', 'enable', 'ignore', 'condition', 'commands', 'step', 'next', 'until', 'jump', 'return', 'retval', 'run', 'continue', 'list', 'longlist', - 'args', 'print', 'pp', 'whatis', 'source', 'alias', 'unalias', - 'debug', 'quit', + 'args', 'print', 'pp', 'whatis', 'source', 'interact', 'alias', + 'unalias', 'debug', 'quit', ] for _command in _help_order: @@ -45,6 +45,8 @@ Core and Builtins Library ------- +- Add the "interact" pdb command. + - Issue #7905: Actually respect the keyencoding parameter to shelve.Shelf. - Issue #1569291: Speed up array.repeat(). |