Debugger/DebugServer.py

changeset 6633
c5aab2ede19a
parent 6621
db2ec0feca8a
child 6645
ad476851d7e0
equal deleted inserted replaced
6632:084880ed940c 6633:c5aab2ede19a
458 self.clientType = clType 458 self.clientType = clType
459 Preferences.Prefs.settings.setValue( 459 Preferences.Prefs.settings.setValue(
460 'DebugClient/Type', self.clientType) 460 'DebugClient/Type', self.clientType)
461 461
462 def startClient(self, unplanned=True, clType=None, forProject=False, 462 def startClient(self, unplanned=True, clType=None, forProject=False,
463 runInConsole=False, venvName=""): 463 runInConsole=False, venvName="", workingDir=None):
464 """ 464 """
465 Public method to start a debug client. 465 Public method to start a debug client.
466 466
467 @keyparam unplanned flag indicating that the client has died 467 @keyparam unplanned flag indicating that the client has died
468 @type bool 468 @type bool
472 @type bool 472 @type bool
473 @keyparam runInConsole flag indicating to start the debugger in a 473 @keyparam runInConsole flag indicating to start the debugger in a
474 console window 474 console window
475 @type bool 475 @type bool
476 @keyparam venvName name of the virtual environment to be used 476 @keyparam venvName name of the virtual environment to be used
477 @type str
478 @keyparam workingDir directory to start the debugger client in
477 @type str 479 @type str
478 """ 480 """
479 self.running = False 481 self.running = False
480 482
481 if not self.passive or not self.passiveClientExited: 483 if not self.passive or not self.passiveClientExited:
505 project = e5App().getObject("Project") 507 project = e5App().getObject("Project")
506 if not project.isDebugPropertiesLoaded(): 508 if not project.isDebugPropertiesLoaded():
507 self.clientProcess, isNetworked, clientInterpreter = \ 509 self.clientProcess, isNetworked, clientInterpreter = \
508 self.debuggerInterface.startRemote( 510 self.debuggerInterface.startRemote(
509 self.serverPort(), runInConsole, venvName, 511 self.serverPort(), runInConsole, venvName,
510 self.__originalPathString) 512 self.__originalPathString, workingDir=workingDir)
511 else: 513 else:
512 self.clientProcess, isNetworked, clientInterpreter = \ 514 self.clientProcess, isNetworked, clientInterpreter = \
513 self.debuggerInterface.startRemoteForProject( 515 self.debuggerInterface.startRemoteForProject(
514 self.serverPort(), runInConsole, venvName, 516 self.serverPort(), runInConsole, venvName,
515 self.__originalPathString) 517 self.__originalPathString, workingDir=workingDir)
516 else: 518 else:
517 self.clientProcess, isNetworked, clientInterpreter = \ 519 self.clientProcess, isNetworked, clientInterpreter = \
518 self.debuggerInterface.startRemote( 520 self.debuggerInterface.startRemote(
519 self.serverPort(), runInConsole, venvName, 521 self.serverPort(), runInConsole, venvName,
520 self.__originalPathString) 522 self.__originalPathString, workingDir=workingDir)
521 523
522 if self.clientProcess: 524 if self.clientProcess:
523 self.clientProcess.readyReadStandardError.connect( 525 self.clientProcess.readyReadStandardError.connect(
524 self.__clientProcessError) 526 self.__clientProcessError)
525 self.clientProcess.readyReadStandardOutput.connect( 527 self.clientProcess.readyReadStandardOutput.connect(

eric ide

mercurial