--- a/Debugger/DebugServer.py Sat Dec 01 11:45:24 2018 +0100 +++ b/Debugger/DebugServer.py Thu Jan 10 14:22:59 2019 +0100 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2007 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> +# Copyright (c) 2007 - 2019 Detlev Offenbach <detlev@die-offenbachs.de> # """ @@ -232,6 +232,7 @@ self.lastClientType = '' self.__autoClearShell = False + self.__forProject = False self.clientClearBreak.connect(self.__clientClearBreakPoint) self.clientClearWatch.connect(self.__clientClearWatchPoint) @@ -459,7 +460,7 @@ 'DebugClient/Type', self.clientType) def startClient(self, unplanned=True, clType=None, forProject=False, - runInConsole=False, venvName=""): + runInConsole=False, venvName="", workingDir=None): """ Public method to start a debug client. @@ -474,6 +475,8 @@ @type bool @keyparam venvName name of the virtual environment to be used @type str + @keyparam workingDir directory to start the debugger client in + @type str """ self.running = False @@ -498,6 +501,7 @@ self.clientProcess.deleteLater() self.clientProcess = None + self.__forProject = forProject self.__createDebuggerInterface() if forProject: project = e5App().getObject("Project") @@ -505,17 +509,17 @@ self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( self.serverPort(), runInConsole, venvName, - self.__originalPathString) + self.__originalPathString, workingDir=workingDir) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemoteForProject( self.serverPort(), runInConsole, venvName, - self.__originalPathString) + self.__originalPathString, workingDir=workingDir) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( self.serverPort(), runInConsole, venvName, - self.__originalPathString) + self.__originalPathString, workingDir=workingDir) if self.clientProcess: self.clientProcess.readyReadStandardError.connect( @@ -1500,7 +1504,7 @@ if Preferences.getDebugger("AutomaticReset") or (self.running and not self.debugging): self.debugging = False - self.startClient(False) + self.startClient(False, forProject=self.__forProject) if self.passive: self.__createDebuggerInterface("None") self.signalClientOutput(self.tr('\nNot connected\n'))