diff -r d14ddbfbbd36 -r c6dda2cbe081 Debugger/DebuggerInterfacePython.py --- a/Debugger/DebuggerInterfacePython.py Sat Feb 16 10:27:50 2019 +0100 +++ b/Debugger/DebuggerInterfacePython.py Sat Mar 02 11:15:24 2019 +0100 @@ -75,8 +75,10 @@ if Preferences.getDebugger("PathTranslation"): self.translateRemote = \ Preferences.getDebugger("PathTranslationRemote") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ Preferences.getDebugger("PathTranslationLocal") + self.translateLocalWindows = "\\" in self.translateLocal self.translate = self.__remoteTranslation else: self.translate = self.__identityTranslation @@ -105,9 +107,15 @@ @return translated filename (string) """ if remote2local: - return fn.replace(self.translateRemote, self.translateLocal) + path = fn.replace(self.translateRemote, self.translateLocal) + if self.translateLocalWindows: + path = path.replace("/", "\\") else: - return fn.replace(self.translateLocal, self.translateRemote) + path = fn.replace(self.translateLocal, self.translateRemote) + if not self.translateRemoteWindows: + path = path.replace("\\", "/") + + return path def __startProcess(self, program, arguments, environment=None, workingDir=None): @@ -235,9 +243,11 @@ if Preferences.getDebugger("PathTranslation"): self.translateRemote = \ Preferences.getDebugger("PathTranslationRemote") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ Preferences.getDebugger("PathTranslationLocal") self.translate = self.__remoteTranslation + self.translateLocalWindows = "\\" in self.translateLocal else: self.translate = self.__identityTranslation return process, self.__isNetworked, "" @@ -369,8 +379,8 @@ rhost = "localhost" if rexec: args = Utilities.parseOptionString(rexec) + \ - [rhost, interpreter, os.path.abspath(debugClient), - noencoding, str(port), redirect, ipaddr] + [rhost, interpreter, debugClient, noencoding, + str(port), redirect, ipaddr] args[0] = Utilities.getExecutablePath(args[0]) process = self.__startProcess(args[0], args[1:], workingDir=workingDir) @@ -385,13 +395,18 @@ if project.getDebugProperty("PATHTRANSLATION"): self.translateRemote = \ project.getDebugProperty("REMOTEPATH") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ project.getDebugProperty("LOCALPATH") + self.translateLocalWindows = "\\" in self.translateLocal self.translate = self.__remoteTranslation else: self.translate = self.__identityTranslation return process, self.__isNetworked, "" - + else: + # remote shell command is missing + return None, self.__isNetworked, "" + # set translation function self.translate = self.__identityTranslation