--- a/Debugger/DebugServer.py Wed Nov 01 19:22:02 2017 +0100 +++ b/Debugger/DebugServer.py Fri Nov 03 12:10:16 2017 +0100 @@ -445,7 +445,7 @@ 'DebugClient/Type', self.clientType) def startClient(self, unplanned=True, clType=None, forProject=False, - runInConsole=False): + runInConsole=False, interpreter=""): """ Public method to start a debug client. @@ -454,6 +454,8 @@ @keyparam forProject flag indicating a project related action (boolean) @keyparam runInConsole flag indicating to start the debugger in a console window (boolean) + @keyparam interpreter interpreter to be used to execute the remote + side (string) """ self.running = False @@ -478,16 +480,16 @@ project = e5App().getObject("Project") if not project.isDebugPropertiesLoaded(): self.clientProcess, isNetworked, clientInterpreter = \ - self.debuggerInterface.startRemote(self.serverPort(), - runInConsole) + self.debuggerInterface.startRemote( + self.serverPort(), runInConsole, interpreter) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemoteForProject( - self.serverPort(), runInConsole) + self.serverPort(), runInConsole, interpreter) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( - self.serverPort(), runInConsole) + self.serverPort(), runInConsole, interpreter) if self.clientProcess: self.clientProcess.readyReadStandardError.connect( @@ -798,13 +800,15 @@ pass self.debuggerInterface.remoteEnvironment(envdict) - def remoteLoad(self, fn, argv, wd, env, autoClearShell=True, + def remoteLoad(self, interpreter, fn, argv, wd, env, autoClearShell=True, tracePython=False, autoContinue=True, forProject=False, runInConsole=False, autoFork=False, forkChild=False, clientType="", enableCallTrace=False): """ Public method to load a new program to debug. + @param interpreter interpreter to be used to execute the remote + side (string) @param fn the filename to debug (string) @param argv the commandline arguments to pass to the program (string) @param wd the working directory for the program (string) @@ -838,7 +842,7 @@ except KeyError: self.__setClientType('Python3') # assume it is a Python3 file self.startClient(False, forProject=forProject, - runInConsole=runInConsole) + runInConsole=runInConsole, interpreter=interpreter) self.setCallTraceEnabled(enableCallTrace) self.remoteEnvironment(env) @@ -850,13 +854,14 @@ self.__restoreBreakpoints() self.__restoreWatchpoints() - def remoteRun(self, fn, argv, wd, env, autoClearShell=True, - forProject=False, runInConsole=False, - autoFork=False, forkChild=False, - clientType=""): + def remoteRun(self, interpreter, fn, argv, wd, env, autoClearShell=True, + forProject=False, runInConsole=False, autoFork=False, + forkChild=False, clientType=""): """ Public method to load a new program to run. + @param interpreter interpreter to be used to execute the remote + side (string) @param fn the filename to run (string) @param argv the commandline arguments to pass to the program (string) @param wd the working directory for the program (string) @@ -883,7 +888,7 @@ except KeyError: self.__setClientType('Python3') # assume it is a Python3 file self.startClient(False, forProject=forProject, - runInConsole=runInConsole) + runInConsole=runInConsole, interpreter=interpreter) self.remoteEnvironment(env) @@ -891,12 +896,14 @@ self.debugging = False self.running = True - def remoteCoverage(self, fn, argv, wd, env, autoClearShell=True, - erase=False, forProject=False, runInConsole=False, - clientType=""): + def remoteCoverage(self, interpreter, fn, argv, wd, env, + autoClearShell=True, erase=False, forProject=False, + runInConsole=False, clientType=""): """ Public method to load a new program to collect coverage data. + @param interpreter interpreter to be used to execute the remote + side (string) @param fn the filename to run (string) @param argv the commandline arguments to pass to the program (string) @param wd the working directory for the program (string) @@ -922,7 +929,7 @@ except KeyError: self.__setClientType('Python3') # assume it is a Python3 file self.startClient(False, forProject=forProject, - runInConsole=runInConsole) + runInConsole=runInConsole, interpreter=interpreter) self.remoteEnvironment(env) @@ -930,13 +937,14 @@ self.debugging = False self.running = True - def remoteProfile(self, fn, argv, wd, env, autoClearShell=True, - erase=False, forProject=False, - runInConsole=False, - clientType=""): + def remoteProfile(self, interpreter, fn, argv, wd, env, + autoClearShell=True, erase=False, forProject=False, + runInConsole=False, clientType=""): """ Public method to load a new program to collect profiling data. + @param interpreter interpreter to be used to execute the remote + side (string) @param fn the filename to run (string) @param argv the commandline arguments to pass to the program (string) @param wd the working directory for the program (string) @@ -962,7 +970,7 @@ except KeyError: self.__setClientType('Python3') # assume it is a Python3 file self.startClient(False, forProject=forProject, - runInConsole=runInConsole) + runInConsole=runInConsole, interpreter=interpreter) self.remoteEnvironment(env)