761 @param frame the frame object |
761 @param frame the frame object |
762 @param retval the return value of the program |
762 @param retval the return value of the program |
763 """ |
763 """ |
764 # The program has finished if we have just left the first frame. |
764 # The program has finished if we have just left the first frame. |
765 if frame == self._dbgClient.mainFrame and \ |
765 if frame == self._dbgClient.mainFrame and \ |
766 self._mainThread: |
766 self._mainThread: |
767 atexit._run_exitfuncs() |
767 atexit._run_exitfuncs() |
768 self._dbgClient.progTerminated(retval) |
768 self._dbgClient.progTerminated(retval) |
769 elif frame is not self.stepFrame: |
769 elif frame is not self.stepFrame: |
770 self.stepFrame = None |
770 self.stepFrame = None |
771 self.user_line(frame) |
771 self.user_line(frame) |
805 return 1 |
805 return 1 |
806 |
806 |
807 #XXX - think of a better way to do this. It's only a convience for |
807 #XXX - think of a better way to do this. It's only a convience for |
808 #debugging the debugger - when the debugger code is in the current |
808 #debugging the debugger - when the debugger code is in the current |
809 #directory. |
809 #directory. |
810 if os.path.basename(fn) in [\ |
810 if os.path.basename(fn) in [ |
811 'AsyncFile.py', 'AsyncIO.py', |
811 'AsyncFile.py', 'AsyncIO.py', |
812 'DebugConfig.py', 'DCTestResult.py', |
812 'DebugConfig.py', 'DCTestResult.py', |
813 'DebugBase.py', 'DebugClientBase.py', |
813 'DebugBase.py', 'DebugClientBase.py', |
814 'DebugClientCapabilities.py', 'DebugClient.py', |
814 'DebugClientCapabilities.py', 'DebugClient.py', |
815 'DebugClientThreads.py', 'DebugProtocol.py', |
815 'DebugClientThreads.py', 'DebugProtocol.py', |