diff -r a890aab08ae4 -r f4e0f6133ace DebugClients/Python3/DebugClientBase.py --- a/DebugClients/Python3/DebugClientBase.py Thu Nov 01 10:15:08 2012 +0100 +++ b/DebugClients/Python3/DebugClientBase.py Thu Nov 01 15:31:06 2012 +0100 @@ -199,6 +199,9 @@ self.errorstream = None self.pollingDisabled = False + self.callTraceEnabled = False + self.__newCallTraceEnabled = False + self.skipdirs = sys.path[:] self.variant = 'You should not see this' @@ -442,6 +445,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.replace("u'", "'")) for key, value in env.items(): @@ -494,6 +508,7 @@ sys.modules['__main__'] = self.debugMod code = self.__compileFileSource(self.running) if code: + self.callTraceEnabled = self.__newCallTraceEnabled res = self.mainThread.run(code, self.debugMod.__dict__) self.progTerminated(res) return