eric6/Debugger/DebuggerInterfacePython.py

branch
multi_processing
changeset 7872
433dacbfa456
parent 7871
eb65864ca038
child 7874
8dcb77600690
diff -r eb65864ca038 -r 433dacbfa456 eric6/Debugger/DebuggerInterfacePython.py
--- a/eric6/Debugger/DebuggerInterfacePython.py	Thu Dec 10 20:16:21 2020 +0100
+++ b/eric6/Debugger/DebuggerInterfacePython.py	Sat Dec 12 15:30:05 2020 +0100
@@ -48,6 +48,7 @@
         self.__isNetworked = True
         self.__autoContinue = False
         self.__autoContinued = []
+        self.__isStepCommand = False
         
         self.debugServer = debugServer
         self.passive = passive
@@ -555,7 +556,11 @@
             self.debugServer.initializeClient(debuggerId)
             
             # perform auto-continue except for master
-            if debuggerId != self.__master:
+            if (
+                debuggerId != self.__master and
+                self.__autoContinue and
+                not self.__isStepCommand
+            ):
                 QTimer.singleShot(
                     0, lambda: self.remoteContinue(debuggerId))
     
@@ -695,6 +700,7 @@
         """
         self.__autoContinue = autoContinue
         self.__scriptName = os.path.abspath(fn)
+        self.__isStepCommand = False
         
         wd = self.translate(wd, False)
         fn = self.translate(os.path.abspath(fn), False)
@@ -806,6 +812,7 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
+        self.__isStepCommand = True
         self.__sendJsonCommand("RequestStep", {}, debuggerId)
     
     def remoteStepOver(self, debuggerId):
@@ -815,6 +822,7 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
+        self.__isStepCommand = True
         self.__sendJsonCommand("RequestStepOver", {}, debuggerId)
     
     def remoteStepOut(self, debuggerId):
@@ -824,6 +832,7 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
+        self.__isStepCommand = True
         self.__sendJsonCommand("RequestStepOut", {}, debuggerId)
     
     def remoteStepQuit(self, debuggerId):
@@ -833,6 +842,7 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
+        self.__isStepCommand = True
         self.__sendJsonCommand("RequestStepQuit", {}, debuggerId)
     
     def remoteContinue(self, debuggerId, special=False):
@@ -844,6 +854,7 @@
         @param special flag indicating a special continue operation
         @type bool
         """
+        self.__isStepCommand = False
         self.__sendJsonCommand("RequestContinue", {
             "special": special,
         }, debuggerId)
@@ -1349,7 +1360,7 @@
                 params["text"], params["debuggerId"])
         
         elif method in ["ResponseLine", "ResponseStack"]:
-            # Check if obsolet thread was clicked
+            # Check if obsolete thread was clicked
             if params["stack"] == []:
                 # Request updated list
                 self.remoteThreadList(params["debuggerId"])

eric ide

mercurial