DebugClients/Python/DebugBase.py

branch
debugger fine grinding
changeset 5560
597164ed39b7
parent 5550
b36f631e4138
child 5573
4f85c1de060d
diff -r 072d97551334 -r 597164ed39b7 DebugClients/Python/DebugBase.py
--- 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

eric ide

mercurial