--- a/DebugClients/Python/DebugBase.py Sat Feb 25 19:41:53 2017 +0100 +++ b/DebugClients/Python/DebugBase.py Sat Feb 25 21:11:54 2017 +0100 @@ -846,14 +846,24 @@ stack = self.getStack(frlist[self.skipFrames:]) + self.isBroken = True + self._dbgClient.lockClient() + self._dbgClient.currentThread = self + self._dbgClient.currentThreadExec = self self._dbgClient.sendException(exctypetxt, excvaltxt, stack) + self._dbgClient.dumpThreadList() - if exctb is None: - return + if exctb is not None: + # When polling kept enabled, it isn't possible to resume after an + # unhandled exception without further user interaction. + self._dbgClient.eventLoop(True) - self._dbgClient.eventLoop() self.skipFrames = 0 + self.isBroken = False + self.eventPollFlag = False + self._dbgClient.unlockClient() + def __extractExceptionName(self, exctype): """ Private method to extract the exception name given the exception