DebugClients/Python/DebugClientBase.py

branch
5_3_x
changeset 2378
5fa59ceba7e1
parent 2372
8f553ad50adf
child 2486
e16c9ced6ae5
equal deleted inserted replaced
2374:f78ee0e8f96c 2378:5fa59ceba7e1
553 553
554 self.mainThread.tracePython = 0 554 self.mainThread.tracePython = 0
555 555
556 self.debugMod.__dict__['__file__'] = sys.argv[0] 556 self.debugMod.__dict__['__file__'] = sys.argv[0]
557 sys.modules['__main__'] = self.debugMod 557 sys.modules['__main__'] = self.debugMod
558 execfile(sys.argv[0], self.debugMod.__dict__) 558 res = 0
559 try:
560 execfile(sys.argv[0], self.debugMod.__dict__)
561 except SystemExit as exc:
562 res = exc.code
563 atexit._run_exitfuncs()
559 self.writestream.flush() 564 self.writestream.flush()
565 self.progTerminated(res)
560 return 566 return
561 567
562 if cmd == DebugProtocol.RequestCoverage: 568 if cmd == DebugProtocol.RequestCoverage:
563 from coverage import coverage 569 from coverage import coverage
564 sys.argv = [] 570 sys.argv = []
583 589
584 if int(erase): 590 if int(erase):
585 self.cover.erase() 591 self.cover.erase()
586 sys.modules['__main__'] = self.debugMod 592 sys.modules['__main__'] = self.debugMod
587 self.debugMod.__dict__['__file__'] = sys.argv[0] 593 self.debugMod.__dict__['__file__'] = sys.argv[0]
594 self.running = sys.argv[0]
595 res = 0
588 self.cover.start() 596 self.cover.start()
589 try: 597 try:
590 execfile(sys.argv[0], self.debugMod.__dict__) 598 execfile(sys.argv[0], self.debugMod.__dict__)
591 except SystemExit: 599 except SystemExit as exc:
600 res = exc.code
592 atexit._run_exitfuncs() 601 atexit._run_exitfuncs()
593 self.cover.stop() 602 self.cover.stop()
594 self.cover.save() 603 self.cover.save()
595 self.writestream.flush() 604 self.writestream.flush()
596 return 605 self.progTerminated(res)
597 606 return
607
598 if cmd == DebugProtocol.RequestProfile: 608 if cmd == DebugProtocol.RequestProfile:
599 sys.setprofile(None) 609 sys.setprofile(None)
600 import PyProfile 610 import PyProfile
601 sys.argv = [] 611 sys.argv = []
602 wd, fn, args, erase = arg.split('|') 612 wd, fn, args, erase = arg.split('|')
618 628
619 if int(erase): 629 if int(erase):
620 self.prof.erase() 630 self.prof.erase()
621 self.debugMod.__dict__['__file__'] = sys.argv[0] 631 self.debugMod.__dict__['__file__'] = sys.argv[0]
622 sys.modules['__main__'] = self.debugMod 632 sys.modules['__main__'] = self.debugMod
623 self.prof.run('execfile(%r)' % sys.argv[0]) 633 self.running = sys.argv[0]
634 res = 0
635 try:
636 self.prof.run('execfile(%r)' % sys.argv[0])
637 except SystemExit as exc:
638 res = exc.code
639 atexit._run_exitfuncs()
624 self.prof.save() 640 self.prof.save()
625 self.writestream.flush() 641 self.writestream.flush()
642 self.progTerminated(res)
626 return 643 return
627 644
628 if cmd == DebugProtocol.RequestShutdown: 645 if cmd == DebugProtocol.RequestShutdown:
629 self.sessionClose() 646 self.sessionClose()
630 return 647 return

eric ide

mercurial