Sat, 25 Feb 2017 21:11:54 +0100
Prevent ordinary breakpoints to steal the focus from an exception.
DebugClients/Python/DebugBase.py | file | annotate | diff | comparison | revisions |
--- 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