1237 @type Exception |
1239 @type Exception |
1238 @param exctb traceback for the exception |
1240 @param exctb traceback for the exception |
1239 @type traceback |
1241 @type traceback |
1240 """ |
1242 """ |
1241 self.mainThread.user_exception((exctype, excval, exctb), True) |
1243 self.mainThread.user_exception((exctype, excval, exctb), True) |
|
1244 |
|
1245 if self.__debugeeExceptHook is not None: |
|
1246 # call the exception hook of the program being debugged |
|
1247 self.__debugeeExceptHook(exctype, excval, exctb) |
|
1248 |
|
1249 def checkExceptionHook(self): |
|
1250 """ |
|
1251 Public method to check, that 'sys.excepthook' is still our hook. |
|
1252 |
|
1253 If the exception hook has been changed by the program being debugger, save |
|
1254 that hook and set it to ours again. The program's hook is called in our |
|
1255 '__unhandled_exception()' method. |
|
1256 """ |
|
1257 if sys.excepthook != self.__unhandled_exception: |
|
1258 self.__debugeeExceptHook = sys.excepthook |
|
1259 sys.excepthook = self.__unhandled_exception |
1242 |
1260 |
1243 def __interceptSignals(self): |
1261 def __interceptSignals(self): |
1244 """ |
1262 """ |
1245 Private method to intercept common signals. |
1263 Private method to intercept common signals. |
1246 """ |
1264 """ |