Resumes execution after processing a debug event. @see: dispatch(), loop(), wait() @type event: L{Event} @param event: (Optional) Event object returned by L{wait}. @raise WindowsError: Raises an exception on error.
(self, event=None)
| 912 | return EventDispatcher.dispatch(self, event) |
| 913 | |
| 914 | def cont(self, event=None): |
| 915 | """ |
| 916 | Resumes execution after processing a debug event. |
| 917 | |
| 918 | @see: dispatch(), loop(), wait() |
| 919 | |
| 920 | @type event: L{Event} |
| 921 | @param event: (Optional) Event object returned by L{wait}. |
| 922 | |
| 923 | @raise WindowsError: Raises an exception on error. |
| 924 | """ |
| 925 | |
| 926 | # If no event object was given, use the last event. |
| 927 | if event is None: |
| 928 | event = self.lastEvent |
| 929 | |
| 930 | # Ignore dummy events. |
| 931 | if not event: |
| 932 | return |
| 933 | |
| 934 | # Get the event continue status information. |
| 935 | dwProcessId = event.get_pid() |
| 936 | dwThreadId = event.get_tid() |
| 937 | dwContinueStatus = event.continueStatus |
| 938 | |
| 939 | # Check if the process is still being debugged. |
| 940 | if self.is_debugee(dwProcessId): |
| 941 | # Try to flush the instruction cache. |
| 942 | try: |
| 943 | if self.system.has_process(dwProcessId): |
| 944 | aProcess = self.system.get_process(dwProcessId) |
| 945 | else: |
| 946 | aProcess = Process(dwProcessId) |
| 947 | aProcess.flush_instruction_cache() |
| 948 | except WindowsError: |
| 949 | pass |
| 950 | |
| 951 | # XXX TODO |
| 952 | # |
| 953 | # Try to execute the UnhandledExceptionFilter for second chance |
| 954 | # exceptions, at least when in hostile mode (in normal mode it |
| 955 | # would be breaking compatibility, as users may actually expect |
| 956 | # second chance exceptions to be raised again). |
| 957 | # |
| 958 | # Reportedly in Windows 7 (maybe in Vista too) this seems to be |
| 959 | # happening already. In XP and below the UnhandledExceptionFilter |
| 960 | # was never called for processes being debugged. |
| 961 | |
| 962 | # Continue execution of the debugee. |
| 963 | win32.ContinueDebugEvent(dwProcessId, dwThreadId, dwContinueStatus) |
| 964 | |
| 965 | # If the event is the last event, forget it. |
| 966 | if event == self.lastEvent: |
| 967 | self.lastEvent = None |
| 968 | |
| 969 | def stop(self, bIgnoreExceptions=True): |
| 970 | """ |
no test coverage detected