##// END OF EJS Templates
Fix `up` through generators in postmortem debugger...
Fix `up` through generators in postmortem debugger By passing the lowest traceback element into the debugger, we require it to use frame.f_back to find older frames. However, f_back is always None for generator frames. By providing a higher-up traceback element, pdb can traverse down the traceback.tb_next links, which do work correctly across generator calls. Furthermore, pdb will not do the right thing if it is provided with a frame/traceback pair that do not correspond to each other - it will duplicate parts of the callstack. Instead, we provide None as a frame, which will cause the debugger to start at the deepest frame, which is the desired behavior here.

File last commit:

r11124:9567c77a
r24590:67eed532
Show More
getipython.py
24 lines | 916 B | text/x-python | PythonLexer
# encoding: utf-8
"""Simple function to call to get the current InteractiveShell instance
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
def get_ipython():
"""Get the global InteractiveShell instance.
Returns None if no InteractiveShell instance is registered.
"""
from IPython.core.interactiveshell import InteractiveShell
if InteractiveShell.initialized():
return InteractiveShell.instance()