Debug a statement executed via the exec() function. globals defaults to __main__.dict; locals defaults to globals.
(self, cmd, globals=None, locals=None)
| 896 | # Both can be given as a string, or a code object. |
| 897 | |
| 898 | def run(self, cmd, globals=None, locals=None): |
| 899 | """Debug a statement executed via the exec() function. |
| 900 | |
| 901 | globals defaults to __main__.dict; locals defaults to globals. |
| 902 | """ |
| 903 | if globals is None: |
| 904 | import __main__ |
| 905 | globals = __main__.__dict__ |
| 906 | if locals is None: |
| 907 | locals = globals |
| 908 | self.reset() |
| 909 | if isinstance(cmd, str): |
| 910 | cmd = compile(cmd, "<string>", "exec") |
| 911 | self.start_trace() |
| 912 | try: |
| 913 | exec(cmd, globals, locals) |
| 914 | except BdbQuit: |
| 915 | pass |
| 916 | finally: |
| 917 | self.quitting = True |
| 918 | self.stop_trace() |
| 919 | |
| 920 | def runeval(self, expr, globals=None, locals=None): |
| 921 | """Debug an expression executed via the eval() function. |