DebugClients/Python/DebugClientBase.py

changeset 2171
c7dd548d67d8
parent 2157
aa3bdc7cb686
child 2276
52ec544a6c74
--- a/DebugClients/Python/DebugClientBase.py	Thu Nov 01 15:31:06 2012 +0100
+++ b/DebugClients/Python/DebugClientBase.py	Thu Nov 01 18:29:58 2012 +0100
@@ -225,6 +225,9 @@
         self.errorstream = None
         self.pollingDisabled = False
         
+        self.callTraceEnabled = False
+        self.__newCallTraceEnabled = False
+        
         self.skipdirs = sys.path[:]
         
         self.variant = 'You should not see this'
@@ -456,6 +459,17 @@
                 self.pendingResponse = DebugProtocol.ResponseOK
                 return
 
+            if cmd == DebugProtocol.RequestCallTrace:
+                if arg.strip().lower() == "on":
+                    callTraceEnabled = True
+                else:
+                    callTraceEnabled = False
+                if self.debugging:
+                    self.callTraceEnabled = callTraceEnabled
+                else:
+                    self.__newCallTraceEnabled = callTraceEnabled   # remember for later
+                return
+            
             if cmd == DebugProtocol.RequestEnv:
                 env = eval(arg)
                 for key, value in env.items():
@@ -506,6 +520,7 @@
                 # IOErrors, if self.running is passed as a normal str.
                 self.debugMod.__dict__['__file__'] = self.running
                 sys.modules['__main__'] = self.debugMod
+                self.callTraceEnabled = self.__newCallTraceEnabled
                 res = self.mainThread.run('execfile(' + repr(self.running) + ')',
                                           self.debugMod.__dict__)
                 self.progTerminated(res)

eric ide

mercurial