src/eric7/Debugger/DebugServer.py

branch
eric7-maintenance
changeset 11019
27cd57e98461
parent 10814
ba20efe10336
parent 10985
91243eb0390d
child 11063
bb05d1db9286
equal deleted inserted replaced
10947:c8df46dd566d 11019:27cd57e98461
495 forProject=False, 495 forProject=False,
496 runInConsole=False, 496 runInConsole=False,
497 venvName="", 497 venvName="",
498 workingDir="", 498 workingDir="",
499 configOverride=None, 499 configOverride=None,
500 startRemote=None, 500 startViaServer=None,
501 ): 501 ):
502 """ 502 """
503 Public method to start a debug client. 503 Public method to start a debug client.
504 504
505 @param unplanned flag indicating that the client has died (defaults to True) 505 @param unplanned flag indicating that the client has died (defaults to True)
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 """

eric ide

mercurial