--- 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)