--- a/DebugClients/Python3/DebugClientBase.py Tue Jul 19 22:20:51 2016 +0200 +++ b/DebugClients/Python3/DebugClientBase.py Wed Jul 20 22:14:24 2016 +0200 @@ -196,7 +196,6 @@ self.passive = False # used to indicate the passive mode self.running = None self.test = None - self.tracePython = False self.debugging = False self.fork_auto = False @@ -207,8 +206,8 @@ self.errorstream = None self.pollingDisabled = False - self.callTraceEnabled = False - self.__newCallTraceEnabled = False + self.callTraceEnabled = None + self.__newCallTraceEnabled = None self.skipdirs = sys.path[:] @@ -274,8 +273,7 @@ @param mainThread True, if we are attaching to the already started mainthread of the app """ - if self.debugging: - sys.setprofile(self.profile) + pass def __dumpThreadList(self): """ @@ -467,14 +465,15 @@ if cmd == DebugProtocol.RequestCallTrace: if arg.strip().lower() == "on": - callTraceEnabled = True + callTraceEnabled = self.profile else: - callTraceEnabled = False + callTraceEnabled = None if self.debugging: - self.callTraceEnabled = callTraceEnabled + sys.setprofile(callTraceEnabled) else: + # remember for later self.__newCallTraceEnabled = callTraceEnabled - # remember for later + return if cmd == DebugProtocol.RequestEnv: @@ -531,7 +530,7 @@ sys.modules['__main__'] = self.debugMod code = self.__compileFileSource(self.running) if code: - self.callTraceEnabled = self.__newCallTraceEnabled + sys.setprofile(self.__newCallTraceEnabled) res = self.mainThread.run(code, self.debugMod.__dict__) self.progTerminated(res) return