diff -r 50862a6a2c63 -r d57f18f15f1a DebugClients/Python/DebugClientBase.py --- a/DebugClients/Python/DebugClientBase.py Tue Jul 19 22:20:51 2016 +0200 +++ b/DebugClients/Python/DebugClientBase.py Wed Jul 20 22:14:24 2016 +0200 @@ -222,7 +222,6 @@ self.passive = 0 # used to indicate the passive mode self.running = None self.test = None - self.tracePython = 0 self.debugging = 0 self.fork_auto = False @@ -233,8 +232,8 @@ self.errorstream = None self.pollingDisabled = False - self.callTraceEnabled = False - self.__newCallTraceEnabled = False + self.callTraceEnabled = None + self.__newCallTraceEnabled = None self.skipdirs = sys.path[:] @@ -302,8 +301,7 @@ @param mainThread non-zero, if we are attaching to the already started mainthread of the app """ - if self.debugging: - sys.setprofile(self.profile) + pass def __dumpThreadList(self): """ @@ -473,14 +471,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: @@ -536,7 +535,7 @@ # as a normal str. self.debugMod.__dict__['__file__'] = self.running sys.modules['__main__'] = self.debugMod - self.callTraceEnabled = self.__newCallTraceEnabled + sys.setprofile(self.__newCallTraceEnabled) res = self.mainThread.run( 'execfile(' + repr(self.running) + ')', self.debugMod.__dict__)