eric6/Debugger/DebugServer.py

branch
multi_processing
changeset 7874
8dcb77600690
parent 7863
6725d2549801
child 7887
c1588f5a83e9
equal deleted inserted replaced
7873:cb2badbdf26c 7874:8dcb77600690
472 def startClient(self, unplanned=True, clType=None, forProject=False, 472 def startClient(self, unplanned=True, clType=None, forProject=False,
473 runInConsole=False, venvName="", workingDir=None): 473 runInConsole=False, venvName="", workingDir=None):
474 """ 474 """
475 Public method to start a debug client. 475 Public method to start a debug client.
476 476
477 @keyparam unplanned flag indicating that the client has died 477 @param unplanned flag indicating that the client has died
478 @type bool 478 @type bool
479 @keyparam clType type of client to be started 479 @param clType type of client to be started
480 @type str 480 @type str
481 @keyparam forProject flag indicating a project related action 481 @param forProject flag indicating a project related action
482 @type bool 482 @type bool
483 @keyparam runInConsole flag indicating to start the debugger in a 483 @param runInConsole flag indicating to start the debugger in a
484 console window 484 console window
485 @type bool 485 @type bool
486 @keyparam venvName name of the virtual environment to be used 486 @param venvName name of the virtual environment to be used
487 @type str 487 @type str
488 @keyparam workingDir directory to start the debugger client in 488 @param workingDir directory to start the debugger client in
489 @type str 489 @type str
490 """ 490 """
491 self.running = False 491 self.running = False
492 492
493 if not self.passive or not self.passiveClientExited: 493 if not self.passive or not self.passiveClientExited:
918 pass 918 pass
919 self.debuggerInterface.remoteEnvironment(envdict) 919 self.debuggerInterface.remoteEnvironment(envdict)
920 920
921 def remoteLoad(self, venvName, fn, argv, wd, env, autoClearShell=True, 921 def remoteLoad(self, venvName, fn, argv, wd, env, autoClearShell=True,
922 tracePython=False, autoContinue=True, forProject=False, 922 tracePython=False, autoContinue=True, forProject=False,
923 runInConsole=False, autoFork=False, forkChild=False, 923 runInConsole=False, clientType="", enableCallTrace=False,
924 clientType="", enableCallTrace=False,
925 enableMultiprocess=False, multiprocessNoDebug=""): 924 enableMultiprocess=False, multiprocessNoDebug=""):
926 """ 925 """
927 Public method to load a new program to debug. 926 Public method to load a new program to debug.
928 927
929 @param venvName name of the virtual environment to be used 928 @param venvName name of the virtual environment to be used
934 @type str 933 @type str
935 @param wd the working directory for the program 934 @param wd the working directory for the program
936 @type str 935 @type str
937 @param env environment parameter settings 936 @param env environment parameter settings
938 @type str 937 @type str
939 @keyparam autoClearShell flag indicating, that the interpreter window 938 @param autoClearShell flag indicating, that the interpreter window
940 should be cleared 939 should be cleared
941 @type bool 940 @type bool
942 @keyparam tracePython flag indicating if the Python library should be 941 @param tracePython flag indicating if the Python library should be
943 traced as well 942 traced as well
944 @type bool 943 @type bool
945 @keyparam autoContinue flag indicating, that the debugger should not 944 @param autoContinue flag indicating, that the debugger should not
946 stop at the first executable line 945 stop at the first executable line
947 @type bool 946 @type bool
948 @keyparam forProject flag indicating a project related action 947 @param forProject flag indicating a project related action
949 @type bool 948 @type bool
950 @keyparam runInConsole flag indicating to start the debugger in a 949 @param runInConsole flag indicating to start the debugger in a
951 console window 950 console window
952 @type bool 951 @type bool
953 @keyparam autoFork flag indicating the automatic fork mode 952 @param clientType client type to be used
954 @type bool 953 @type str
955 @keyparam forkChild flag indicating to debug the child after forking 954 @param enableCallTrace flag indicating to enable the call trace
956 @type bool
957 @keyparam clientType client type to be used
958 @type str
959 @keyparam enableCallTrace flag indicating to enable the call trace
960 function 955 function
961 @type bool 956 @type bool
962 @param enableMultiprocess flag indicating to perform multiprocess 957 @param enableMultiprocess flag indicating to perform multiprocess
963 debugging 958 debugging
964 @type bool 959 @type bool
994 989
995 self.setCallTraceEnabled("", enableCallTrace) 990 self.setCallTraceEnabled("", enableCallTrace)
996 self.remoteEnvironment(env) 991 self.remoteEnvironment(env)
997 992
998 self.debuggerInterface.remoteLoad( 993 self.debuggerInterface.remoteLoad(
999 fn, argv, wd, tracePython, autoContinue, autoFork, forkChild, 994 fn, argv, wd, tracePython, autoContinue,
1000 enableMultiprocess=enableMultiprocess 995 enableMultiprocess=enableMultiprocess
1001 ) 996 )
1002 self.debugging = True 997 self.debugging = True
1003 self.running = True 998 self.running = True
1004 self.__restoreBreakpoints() 999 self.__restoreBreakpoints()
1005 self.__restoreWatchpoints() 1000 self.__restoreWatchpoints()
1006 self.__restoreNoDebugList() 1001 self.__restoreNoDebugList()
1007 1002
1008 def remoteRun(self, venvName, fn, argv, wd, env, autoClearShell=True, 1003 def remoteRun(self, venvName, fn, argv, wd, env, autoClearShell=True,
1009 forProject=False, runInConsole=False, autoFork=False, 1004 forProject=False, runInConsole=False, clientType=""):
1010 forkChild=False, clientType=""):
1011 """ 1005 """
1012 Public method to load a new program to run. 1006 Public method to load a new program to run.
1013 1007
1014 @param venvName name of the virtual environment to be used 1008 @param venvName name of the virtual environment to be used
1015 @type str 1009 @type str
1019 @type str 1013 @type str
1020 @param wd the working directory for the program 1014 @param wd the working directory for the program
1021 @type str 1015 @type str
1022 @param env environment parameter settings 1016 @param env environment parameter settings
1023 @type str 1017 @type str
1024 @keyparam autoClearShell flag indicating, that the interpreter window 1018 @param autoClearShell flag indicating, that the interpreter window
1025 should be cleared 1019 should be cleared
1026 @type bool 1020 @type bool
1027 @keyparam forProject flag indicating a project related action 1021 @param forProject flag indicating a project related action
1028 @type bool 1022 @type bool
1029 @keyparam runInConsole flag indicating to start the debugger in a 1023 @param runInConsole flag indicating to start the debugger in a
1030 console window 1024 console window
1031 @type bool 1025 @type bool
1032 @keyparam autoFork flag indicating the automatic fork mode 1026 @param clientType client type to be used
1033 @type bool
1034 @keyparam forkChild flag indicating to debug the child after forking
1035 @type bool
1036 @keyparam clientType client type to be used
1037 @type str 1027 @type str
1038 """ 1028 """
1039 self.__autoClearShell = autoClearShell 1029 self.__autoClearShell = autoClearShell
1040 1030
1041 if clientType not in self.getSupportedLanguages(): 1031 if clientType not in self.getSupportedLanguages():
1061 self.startClient(False, forProject=forProject, 1051 self.startClient(False, forProject=forProject,
1062 runInConsole=runInConsole, venvName=venvName) 1052 runInConsole=runInConsole, venvName=venvName)
1063 1053
1064 self.remoteEnvironment(env) 1054 self.remoteEnvironment(env)
1065 1055
1066 self.debuggerInterface.remoteRun(fn, argv, wd, autoFork, forkChild) 1056 self.debuggerInterface.remoteRun(fn, argv, wd)
1067 self.debugging = False 1057 self.debugging = False
1068 self.running = True 1058 self.running = True
1069 1059
1070 def remoteCoverage(self, venvName, fn, argv, wd, env, 1060 def remoteCoverage(self, venvName, fn, argv, wd, env,
1071 autoClearShell=True, erase=False, forProject=False, 1061 autoClearShell=True, erase=False, forProject=False,
1081 @type str 1071 @type str
1082 @param wd the working directory for the program 1072 @param wd the working directory for the program
1083 @type str 1073 @type str
1084 @param env environment parameter settings 1074 @param env environment parameter settings
1085 @type str 1075 @type str
1086 @keyparam autoClearShell flag indicating, that the interpreter window 1076 @param autoClearShell flag indicating, that the interpreter window
1087 should be cleared 1077 should be cleared
1088 @type bool 1078 @type bool
1089 @keyparam erase flag indicating that coverage info should be 1079 @param erase flag indicating that coverage info should be
1090 cleared first 1080 cleared first
1091 @type bool 1081 @type bool
1092 @keyparam forProject flag indicating a project related action 1082 @param forProject flag indicating a project related action
1093 @type bool 1083 @type bool
1094 @keyparam runInConsole flag indicating to start the debugger in a 1084 @param runInConsole flag indicating to start the debugger in a
1095 console window 1085 console window
1096 @type bool 1086 @type bool
1097 @keyparam clientType client type to be used 1087 @param clientType client type to be used
1098 @type str 1088 @type str
1099 """ 1089 """
1100 self.__autoClearShell = autoClearShell 1090 self.__autoClearShell = autoClearShell
1101 1091
1102 if clientType not in self.getSupportedLanguages(): 1092 if clientType not in self.getSupportedLanguages():
1142 @type str 1132 @type str
1143 @param wd the working directory for the program 1133 @param wd the working directory for the program
1144 @type str 1134 @type str
1145 @param env environment parameter settings 1135 @param env environment parameter settings
1146 @type str 1136 @type str
1147 @keyparam autoClearShell flag indicating, that the interpreter window 1137 @param autoClearShell flag indicating, that the interpreter window
1148 should be cleared 1138 should be cleared
1149 @type bool 1139 @type bool
1150 @keyparam erase flag indicating that coverage info should be 1140 @param erase flag indicating that coverage info should be
1151 cleared first 1141 cleared first
1152 @type bool 1142 @type bool
1153 @keyparam forProject flag indicating a project related action 1143 @param forProject flag indicating a project related action
1154 @type bool 1144 @type bool
1155 @keyparam runInConsole flag indicating to start the debugger in a 1145 @param runInConsole flag indicating to start the debugger in a
1156 console window 1146 console window
1157 @type bool 1147 @type bool
1158 @keyparam clientType client type to be used 1148 @param clientType client type to be used
1159 @type str 1149 @type str
1160 """ 1150 """
1161 self.__autoClearShell = autoClearShell 1151 self.__autoClearShell = autoClearShell
1162 1152
1163 if clientType not in self.getSupportedLanguages(): 1153 if clientType not in self.getSupportedLanguages():

eric ide

mercurial