DebugClients/Python3/DebugClientBase.py

branch
debugger speed
changeset 5046
d57f18f15f1a
parent 5044
630b9f290a77
child 5048
9899fb545b1f
equal deleted inserted replaced
5045:50862a6a2c63 5046:d57f18f15f1a
194 self.inRawMode = False 194 self.inRawMode = False
195 self.mainProcStr = None # used for the passive mode 195 self.mainProcStr = None # used for the passive mode
196 self.passive = False # used to indicate the passive mode 196 self.passive = False # used to indicate the passive mode
197 self.running = None 197 self.running = None
198 self.test = None 198 self.test = None
199 self.tracePython = False
200 self.debugging = False 199 self.debugging = False
201 200
202 self.fork_auto = False 201 self.fork_auto = False
203 self.fork_child = False 202 self.fork_child = False
204 203
205 self.readstream = None 204 self.readstream = None
206 self.writestream = None 205 self.writestream = None
207 self.errorstream = None 206 self.errorstream = None
208 self.pollingDisabled = False 207 self.pollingDisabled = False
209 208
210 self.callTraceEnabled = False 209 self.callTraceEnabled = None
211 self.__newCallTraceEnabled = False 210 self.__newCallTraceEnabled = None
212 211
213 self.skipdirs = sys.path[:] 212 self.skipdirs = sys.path[:]
214 213
215 self.variant = 'You should not see this' 214 self.variant = 'You should not see this'
216 215
272 @param args arguments to pass to target 271 @param args arguments to pass to target
273 @param kwargs keyword arguments to pass to target 272 @param kwargs keyword arguments to pass to target
274 @param mainThread True, if we are attaching to the already 273 @param mainThread True, if we are attaching to the already
275 started mainthread of the app 274 started mainthread of the app
276 """ 275 """
277 if self.debugging: 276 pass
278 sys.setprofile(self.profile)
279 277
280 def __dumpThreadList(self): 278 def __dumpThreadList(self):
281 """ 279 """
282 Private method to send the list of threads. 280 Private method to send the list of threads.
283 """ 281 """
465 self.pendingResponse = DebugProtocol.ResponseOK 463 self.pendingResponse = DebugProtocol.ResponseOK
466 return 464 return
467 465
468 if cmd == DebugProtocol.RequestCallTrace: 466 if cmd == DebugProtocol.RequestCallTrace:
469 if arg.strip().lower() == "on": 467 if arg.strip().lower() == "on":
470 callTraceEnabled = True 468 callTraceEnabled = self.profile
471 else: 469 else:
472 callTraceEnabled = False 470 callTraceEnabled = None
473 if self.debugging: 471 if self.debugging:
474 self.callTraceEnabled = callTraceEnabled 472 sys.setprofile(callTraceEnabled)
475 else: 473 else:
474 # remember for later
476 self.__newCallTraceEnabled = callTraceEnabled 475 self.__newCallTraceEnabled = callTraceEnabled
477 # remember for later 476
478 return 477 return
479 478
480 if cmd == DebugProtocol.RequestEnv: 479 if cmd == DebugProtocol.RequestEnv:
481 env = eval(arg.replace("u'", "'")) 480 env = eval(arg.replace("u'", "'"))
482 for key, value in env.items(): 481 for key, value in env.items():
529 # as a normal str. 528 # as a normal str.
530 self.debugMod.__dict__['__file__'] = self.running 529 self.debugMod.__dict__['__file__'] = self.running
531 sys.modules['__main__'] = self.debugMod 530 sys.modules['__main__'] = self.debugMod
532 code = self.__compileFileSource(self.running) 531 code = self.__compileFileSource(self.running)
533 if code: 532 if code:
534 self.callTraceEnabled = self.__newCallTraceEnabled 533 sys.setprofile(self.__newCallTraceEnabled)
535 res = self.mainThread.run(code, self.debugMod.__dict__) 534 res = self.mainThread.run(code, self.debugMod.__dict__)
536 self.progTerminated(res) 535 self.progTerminated(res)
537 return 536 return
538 537
539 if cmd == DebugProtocol.RequestRun: 538 if cmd == DebugProtocol.RequestRun:

eric ide

mercurial