예제 #1
0
def pm(etype, value, tb): # pragma no cover
    import pdb, traceback
    try:
        from IPython.ipapi import make_session; make_session()
        from IPython.Debugger import Pdb
        sys.stderr.write('Entering post-mortem IPDB shell\n')
        p = Pdb(color_scheme='Linux')
        p.reset()
        p.setup(None, tb)
        p.print_stack_trace()
        sys.stderr.write('%s: %s\n' % ( etype, value))
        p.cmdloop()
        p.forget()
        # p.interaction(None, tb)
    except ImportError:
        sys.stderr.write('Entering post-mortem PDB shell\n')
        traceback.print_exception(etype, value, tb)
        pdb.post_mortem(tb)
예제 #2
0
        def start_legacy_api(self):

            self.started = True

            # No c is available: we can't get @string ipython_argv setting.
            old_argv = sys.argv
            sys.argv = ['leo.py', '-p', 'sh']         
            session = ipapi.make_session()
            self.ip = session.IP.getapi()
            self.init_ipython()
            sys.argv = old_argv

            # Does not return until IPython closes.
            # IPython runs the leo mainloop
            session.mainloop()