DebugClients/Python/DebugBase.py

branch
debugger fine grinding
changeset 5540
40992b7a60a9
parent 5539
05b365ba9f55
child 5543
4e2ab5215bcf
equal deleted inserted replaced
5539:05b365ba9f55 5540:40992b7a60a9
426 self.user_exception(excinfo, True) 426 self.user_exception(excinfo, True)
427 finally: 427 finally:
428 sys.settrace(None) 428 sys.settrace(None)
429 sys.setprofile(None) 429 sys.setprofile(None)
430 430
431 def run(self, cmd, globals=None, locals=None): 431 def run(self, cmd, globals=None, locals=None, debug=True):
432 """ 432 """
433 Public method to start a given command under debugger control. 433 Public method to start a given command under debugger control.
434 434
435 @param cmd command / code to execute under debugger control 435 @param cmd command / code to execute under debugger control
436 @type str or CodeType 436 @type str or CodeType
444 globals = __main__.__dict__ 444 globals = __main__.__dict__
445 445
446 if locals is None: 446 if locals is None:
447 locals = globals 447 locals = globals
448 448
449 sys.settrace(self.trace_dispatch)
450 if not isinstance(cmd, types.CodeType): 449 if not isinstance(cmd, types.CodeType):
451 cmd = compile(cmd, "<string>", "exec") 450 cmd = compile(cmd, "<string>", "exec")
451
452 if debug:
453 sys.settrace(self.trace_dispatch)
452 454
453 try: 455 try:
454 exec(cmd, globals, locals) 456 exec(cmd, globals, locals)
455 atexit._run_exitfuncs() 457 atexit._run_exitfuncs()
456 self._dbgClient.progTerminated(0) 458 self._dbgClient.progTerminated(0)

eric ide

mercurial