diff -r 06e7d2941ead -r 331ac8f99cf8 Debugger/DebugServer.py --- a/Debugger/DebugServer.py Thu Nov 01 11:48:02 2018 +0100 +++ b/Debugger/DebugServer.py Sat Dec 01 11:44:34 2018 +0100 @@ -81,8 +81,9 @@ signaled a syntax error in a watch expression @signal clientRawInput(prompt, echo) emitted after a raw input request was received - @signal clientBanner(banner) emitted after the client banner was received - @signal clientCapabilities(int capabilities, string cltype) emitted after + @signal clientBanner(version, platform, dbgclient, venvname) emitted after + the client banner data was received + @signal clientCapabilities(capabilities, cltype, venvname) emitted after the clients capabilities were received @signal clientCompletionList(completionList, text) emitted after the client the commandline completion list and the reworked searchstring was @@ -137,8 +138,8 @@ clientBreakConditionError = pyqtSignal(str, int) clientWatchConditionError = pyqtSignal(str) clientRawInput = pyqtSignal(str, bool) - clientBanner = pyqtSignal(str, str, str) - clientCapabilities = pyqtSignal(int, str) + clientBanner = pyqtSignal(str, str, str, str) + clientCapabilities = pyqtSignal(int, str, str) clientCompletionList = pyqtSignal(list, str) clientInterpreterChanged = pyqtSignal(str) utPrepared = pyqtSignal(int, str, str) @@ -154,15 +155,20 @@ callTraceInfo = pyqtSignal(bool, str, str, str, str, str, str) appendStdout = pyqtSignal(str) - def __init__(self, preventPassiveDebugging=False): + def __init__(self, originalPathString, preventPassiveDebugging=False): """ Constructor + @param originalPathString original PATH environment variable + @type str @param preventPassiveDebugging flag overriding the PassiveDbgEnabled - setting (boolean) + setting + @type bool """ super(DebugServer, self).__init__() + self.__originalPathString = originalPathString + self.__debuggerInterfaces = {} # the interface name is the key, a function to get the # registration data is the value @@ -498,15 +504,18 @@ if not project.isDebugPropertiesLoaded(): self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( - self.serverPort(), runInConsole, venvName) + self.serverPort(), runInConsole, venvName, + self.__originalPathString) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemoteForProject( - self.serverPort(), runInConsole, venvName) + self.serverPort(), runInConsole, venvName, + self.__originalPathString) else: self.clientProcess, isNetworked, clientInterpreter = \ self.debuggerInterface.startRemote( - self.serverPort(), runInConsole, venvName) + self.serverPort(), runInConsole, venvName, + self.__originalPathString) if self.clientProcess: self.clientProcess.readyReadStandardError.connect( @@ -1541,26 +1550,35 @@ """ self.clientRawInput.emit(prompt, echo) - def signalClientBanner(self, version, platform, debugClient): + def signalClientBanner(self, version, platform, debugClient, venvName): """ Public method to process the client banner info. - @param version interpreter version info (string) - @param platform hostname of the client (string) - @param debugClient additional debugger type info (string) + @param version interpreter version info + @type str + @param platform hostname of the client + @type str + @param debugClient additional debugger type info + @type str + @param venvName name of the virtual environment + @type str """ - self.clientBanner.emit(version, platform, debugClient) - - def signalClientCapabilities(self, capabilities, clientType): + self.clientBanner.emit(version, platform, debugClient, venvName) + + def signalClientCapabilities(self, capabilities, clientType, venvName): """ Public method to process the client capabilities info. - @param capabilities bitmaks with the client capabilities (integer) - @param clientType type of the debug client (string) + @param capabilities bitmaks with the client capabilities + @type int + @param clientType type of the debug client + @type str + @param venvName name of the virtual environment + @type str """ try: self.__debuggerInterfaceRegistry[clientType][0] = capabilities - self.clientCapabilities.emit(capabilities, clientType) + self.clientCapabilities.emit(capabilities, clientType, venvName) except KeyError: # ignore silently pass