516 @param workingDir directory to start the debugger client in (defaults to "") |
516 @param workingDir directory to start the debugger client in (defaults to "") |
517 @type str (optional) |
517 @type str (optional) |
518 @param configOverride dictionary containing the global config override data |
518 @param configOverride dictionary containing the global config override data |
519 (defaults to None) |
519 (defaults to None) |
520 @type dict (optional) |
520 @type dict (optional) |
521 @param startRemote flag indicating to start the client via an eric-ide server |
521 @param startViaServer flag indicating to start the client via an eric-ide server |
522 (defaults to None) |
522 (defaults to None) |
523 @type bool (optional) |
523 @type bool (optional) |
524 """ |
524 """ |
525 self.running = False |
525 self.running = False |
526 |
526 |
565 runInConsole, |
565 runInConsole, |
566 venvName, |
566 venvName, |
567 self.__originalPathString, |
567 self.__originalPathString, |
568 workingDir=workingDir, |
568 workingDir=workingDir, |
569 configOverride=configOverride, |
569 configOverride=configOverride, |
570 startRemote=startRemote, |
570 startViaServer=startViaServer, |
571 ) |
571 ) |
572 else: |
572 else: |
573 if not venvName and project.getProjectData(dataKey="EMBEDDED_VENV"): |
573 if not venvName and project.getProjectData(dataKey="EMBEDDED_VENV"): |
574 venvName = self.getProjectEnvironmentString() |
574 venvName = self.getProjectEnvironmentString() |
575 |
575 |
582 runInConsole, |
582 runInConsole, |
583 venvName, |
583 venvName, |
584 self.__originalPathString, |
584 self.__originalPathString, |
585 workingDir=workingDir, |
585 workingDir=workingDir, |
586 configOverride=configOverride, |
586 configOverride=configOverride, |
587 startRemote=startRemote, |
587 startViaServer=startViaServer, |
588 ) |
588 ) |
589 else: |
589 else: |
590 ( |
590 ( |
591 self.clientProcess, |
591 self.clientProcess, |
592 _isNetworked, |
592 _isNetworked, |
596 runInConsole, |
596 runInConsole, |
597 venvName, |
597 venvName, |
598 self.__originalPathString, |
598 self.__originalPathString, |
599 workingDir=workingDir, |
599 workingDir=workingDir, |
600 configOverride=configOverride, |
600 configOverride=configOverride, |
601 startRemote=startRemote, |
601 startViaServer=startViaServer, |
602 ) |
602 ) |
603 |
603 |
604 if self.clientProcess: |
604 if self.clientProcess: |
605 self.clientProcess.readyReadStandardError.connect( |
605 self.clientProcess.readyReadStandardError.connect( |
606 self.__clientProcessError |
606 self.__clientProcessError |
614 self.lastClientType = self.clientType |
614 self.lastClientType = self.clientType |
615 self.remoteBanner() |
615 self.remoteBanner() |
616 elif self.__autoClearShell: |
616 elif self.__autoClearShell: |
617 self.__autoClearShell = False |
617 self.__autoClearShell = False |
618 self.remoteBanner() |
618 self.remoteBanner() |
619 elif startRemote: |
619 elif startViaServer: |
620 self.__ericServerDebugging = True |
620 self.__ericServerDebugging = True |
621 if self.lastClientType != self.clientType: |
621 if self.lastClientType != self.clientType: |
622 self.lastClientType = self.clientType |
622 self.lastClientType = self.clientType |
623 self.remoteBanner() |
623 self.remoteBanner() |
624 elif self.__autoClearShell: |
624 elif self.__autoClearShell: |
1117 False, |
1117 False, |
1118 forProject=forProject, |
1118 forProject=forProject, |
1119 runInConsole=runInConsole, |
1119 runInConsole=runInConsole, |
1120 venvName=venvName, |
1120 venvName=venvName, |
1121 configOverride=configOverride, |
1121 configOverride=configOverride, |
1122 startRemote=FileSystemUtilities.isRemoteFileName(fn), |
1122 startViaServer=FileSystemUtilities.isRemoteFileName(fn), |
1123 ) |
1123 ) |
1124 |
1124 |
1125 self.setCallTraceEnabled("", enableCallTrace) |
1125 self.setCallTraceEnabled("", enableCallTrace) |
1126 self.remoteEnvironment(env) |
1126 self.remoteEnvironment(env) |
1127 |
1127 |
1208 False, |
1208 False, |
1209 forProject=forProject, |
1209 forProject=forProject, |
1210 runInConsole=runInConsole, |
1210 runInConsole=runInConsole, |
1211 venvName=venvName, |
1211 venvName=venvName, |
1212 configOverride=configOverride, |
1212 configOverride=configOverride, |
1213 startRemote=FileSystemUtilities.isRemoteFileName(fn), |
1213 startViaServer=FileSystemUtilities.isRemoteFileName(fn), |
1214 ) |
1214 ) |
1215 |
1215 |
1216 self.remoteEnvironment(env) |
1216 self.remoteEnvironment(env) |
1217 |
1217 |
1218 self.debuggerInterface.remoteRun(fn, argv, wd) |
1218 self.debuggerInterface.remoteRun(fn, argv, wd) |
1291 False, |
1291 False, |
1292 forProject=forProject, |
1292 forProject=forProject, |
1293 runInConsole=runInConsole, |
1293 runInConsole=runInConsole, |
1294 venvName=venvName, |
1294 venvName=venvName, |
1295 configOverride=configOverride, |
1295 configOverride=configOverride, |
1296 startRemote=FileSystemUtilities.isRemoteFileName(fn), |
1296 startViaServer=FileSystemUtilities.isRemoteFileName(fn), |
1297 ) |
1297 ) |
1298 |
1298 |
1299 self.remoteEnvironment(env) |
1299 self.remoteEnvironment(env) |
1300 |
1300 |
1301 self.debuggerInterface.remoteCoverage(fn, argv, wd, erase) |
1301 self.debuggerInterface.remoteCoverage(fn, argv, wd, erase) |
1374 False, |
1374 False, |
1375 forProject=forProject, |
1375 forProject=forProject, |
1376 runInConsole=runInConsole, |
1376 runInConsole=runInConsole, |
1377 venvName=venvName, |
1377 venvName=venvName, |
1378 configOverride=configOverride, |
1378 configOverride=configOverride, |
1379 startRemote=FileSystemUtilities.isRemoteFileName(fn), |
1379 startViaServer=FileSystemUtilities.isRemoteFileName(fn), |
1380 ) |
1380 ) |
1381 |
1381 |
1382 self.remoteEnvironment(env) |
1382 self.remoteEnvironment(env) |
1383 |
1383 |
1384 self.debuggerInterface.remoteProfile(fn, argv, wd, erase) |
1384 self.debuggerInterface.remoteProfile(fn, argv, wd, erase) |
1940 ): |
1940 ): |
1941 self.debugging = False |
1941 self.debugging = False |
1942 self.startClient(False, forProject=self.__forProject) |
1942 self.startClient(False, forProject=self.__forProject) |
1943 if self.passive: |
1943 if self.passive: |
1944 self.__createDebuggerInterface("None") |
1944 self.__createDebuggerInterface("None") |
1945 self.signalClientOutput(self.tr("\nNot connected\n")) |
1945 self.signalClientOutput(self.tr("\nNot connected\n"), "") |
1946 self.signalClientStatement(False, "") |
1946 self.signalClientStatement(False, "") |
1947 self.running = False |
1947 self.running = False |
1948 self.__ericServerDebugging = False |
1948 self.__ericServerDebugging = False |
1949 |
1949 |
1950 def signalClientClearBreak(self, filename, lineno, debuggerId): |
1950 def signalClientClearBreak(self, filename, lineno, debuggerId): |
2104 @param reportAllExceptions flag to enable reporting of all exceptions |
2104 @param reportAllExceptions flag to enable reporting of all exceptions |
2105 @type bool |
2105 @type bool |
2106 @param debuggerId ID of the debugger backend |
2106 @param debuggerId ID of the debugger backend |
2107 @type str |
2107 @type str |
2108 """ |
2108 """ |
2109 self.appendStdout.emit(self.tr("Passive debug connection received\n")) |
2109 if self.passive: |
2110 self.passiveClientExited = False |
2110 self.appendStdout.emit(self.tr("Passive debug connection received\n")) |
2111 self.debugging = True |
2111 self.passiveClientExited = False |
2112 self.running = True |
2112 self.debugging = True |
2113 self.__restoreBreakpoints(debuggerId) |
2113 self.running = True |
2114 self.__restoreWatchpoints(debuggerId) |
2114 self.__restoreBreakpoints(debuggerId) |
2115 self.passiveDebugStarted.emit(fn, reportAllExceptions) |
2115 self.__restoreWatchpoints(debuggerId) |
|
2116 self.passiveDebugStarted.emit(fn, reportAllExceptions) |
|
2117 else: |
|
2118 self.appendStdout.emit( |
|
2119 self.tr( |
|
2120 "Passive debug connection received while not in passive mode.\n" |
|
2121 ) |
|
2122 ) |
|
2123 EricMessageBox.critical( |
|
2124 None, |
|
2125 self.tr("Debug Client Connection"), |
|
2126 self.tr( |
|
2127 "Passive debug client connection received while not in passive" |
|
2128 " mode. Enable this mode on the 'Debugger General' configuration" |
|
2129 " page. The connection will be rejected." |
|
2130 ), |
|
2131 ) |
|
2132 self.shutdownServer() |
|
2133 self.startClient(False, forProject=self.__forProject) |
2116 |
2134 |
2117 def __passiveShutDown(self): |
2135 def __passiveShutDown(self): |
2118 """ |
2136 """ |
2119 Private method to shut down a passive debug connection. |
2137 Private method to shut down a passive debug connection. |
2120 """ |
2138 """ |