Debug an expression executed via the eval() function. globals defaults to __main__.dict; locals defaults to globals.
(self, expr, globals=None, locals=None)
| 605 | sys.settrace(None) |
| 606 | |
| 607 | def runeval(self, expr, globals=None, locals=None): |
| 608 | """Debug an expression executed via the eval() function. |
| 609 | |
| 610 | globals defaults to __main__.dict; locals defaults to globals. |
| 611 | """ |
| 612 | if globals is None: |
| 613 | import __main__ |
| 614 | globals = __main__.__dict__ |
| 615 | if locals is None: |
| 616 | locals = globals |
| 617 | self.reset() |
| 618 | sys.settrace(self.trace_dispatch) |
| 619 | try: |
| 620 | return eval(expr, globals, locals) |
| 621 | except BdbQuit: |
| 622 | pass |
| 623 | finally: |
| 624 | self.quitting = True |
| 625 | sys.settrace(None) |
| 626 | |
| 627 | def runctx(self, cmd, globals, locals): |
| 628 | """For backwards-compatibility. Defers to run().""" |