##// END OF EJS Templates
Backport PR #2544: Infinite loop when multiple debuggers have been attached....
Backport PR #2544: Infinite loop when multiple debuggers have been attached. Replaces pull-request #2388. Fixed infinite loop on exit in the event of where multiple debuggers have been attached an there is an uncaught exception. Test code: ```python from IPython.core.debugger import Tracer; Tracer() Tracer() raise Exception ``` Pinging @DamianHeard to review.

File last commit:

r2498:3eae1372
r9851:5fa1ae98
Show More
ipy_pydb.py
31 lines | 813 B | text/x-python | PythonLexer
vivainio
merge all from 0.7.3 branch to trunk
r503 import inspect
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 from IPython.utils.process import arg_split
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 ip = ipapi.get()
vivainio
merge all from 0.7.3 branch to trunk
r503
Brian Granger
Debugger.py => core/debugger.py and updated all imports.
r2015 from IPython.core import debugger
vivainio
merge all from 0.7.3 branch to trunk
r503
def call_pydb(self, args):
"""Invoke pydb with the supplied parameters."""
try:
import pydb
except ImportError:
raise ImportError("pydb doesn't seem to be installed.")
if not hasattr(pydb.pydb, "runv"):
raise ImportError("You need pydb version 1.19 or later installed.")
argl = arg_split(args)
# print argl # dbg
if len(inspect.getargspec(pydb.runv)[0]) == 2:
Brian Granger
Massive, crazy refactoring of everything....
r2202 pdb = debugger.Pdb(color_scheme=self.colors)
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.history_saving_wrapper( lambda : pydb.runv(argl, pdb) )()
vivainio
merge all from 0.7.3 branch to trunk
r503 else:
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.history_saving_wrapper( lambda : pydb.runv(argl) )()
vivainio
merge all from 0.7.3 branch to trunk
r503
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.define_magic("pydb",call_pydb)
vivainio
merge all from 0.7.3 branch to trunk
r503