summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2008-03-08 16:50:27 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2008-03-08 16:50:27 (GMT)
commitc54aec1fda52a0f21bdd8c529c9bb9c92b24f96a (patch)
treef76f155650aaf4b7cf1a00007b865dc0f699cb15
parent372d55e3e6fb163f7561403b312d9104a7f9238a (diff)
downloadcpython-c54aec1fda52a0f21bdd8c529c9bb9c92b24f96a.zip
cpython-c54aec1fda52a0f21bdd8c529c9bb9c92b24f96a.tar.gz
cpython-c54aec1fda52a0f21bdd8c529c9bb9c92b24f96a.tar.bz2
Issue 1106316. post_mortem()'s parameter, traceback, is now
optional: it defaults to the traceback of the exception that is currently being handled.
-rw-r--r--Doc/library/pdb.rst7
-rwxr-xr-xLib/pdb.py11
-rw-r--r--Misc/NEWS5
3 files changed, 20 insertions, 3 deletions
diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst
index 2b28ae0..0d2a936 100644
--- a/Doc/library/pdb.rst
+++ b/Doc/library/pdb.rst
@@ -107,9 +107,12 @@ slightly different way:
being debugged (e.g. when an assertion fails).
-.. function:: post_mortem(traceback)
+.. function:: post_mortem([traceback])
- Enter post-mortem debugging of the given *traceback* object.
+ Enter post-mortem debugging of the given *traceback* object. If no
+ *traceback* is given, it uses the one of the exception that is currently
+ being handled (an exception must be being handled if the default is to be
+ used).
.. function:: pm()
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 8da23d8..82b52a3 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -1198,7 +1198,16 @@ def set_trace():
# Post-Mortem interface
-def post_mortem(t):
+def post_mortem(t=None):
+ # handling the default
+ if t is None:
+ # sys.exc_info() returns (type, value, traceback) if an exception is
+ # being handled, otherwise it returns None
+ t = sys.exc_info()[2]
+ if t is None:
+ raise ValueError("A valid traceback must be passed if no "
+ "exception is being handled")
+
p = Pdb()
p.reset()
while t.tb_next is not None:
diff --git a/Misc/NEWS b/Misc/NEWS
index 26b8b79..bd3a6cc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,11 @@ Core and builtins
Library
-------
+- Issue #1106316: pdb.post_mortem()'s parameter, "traceback", is now
+ optional: it defaults to the traceback of the exception that is currently
+ being handled (is mandatory to be in the middle of an exception, otherwise
+ it raises ValueError).
+
- Issue #1193577: A .shutdown() method has been added to SocketServers
which terminates the .serve_forever() loop.