136 self.__clientWatchConditionError) |
136 self.__clientWatchConditionError) |
137 debugServer.passiveDebugStarted.connect(self.__passiveDebugStarted) |
137 debugServer.passiveDebugStarted.connect(self.__passiveDebugStarted) |
138 debugServer.clientThreadSet.connect(self.__clientThreadSet) |
138 debugServer.clientThreadSet.connect(self.__clientThreadSet) |
139 |
139 |
140 debugServer.clientThreadList.connect(debugViewer.showThreadList) |
140 debugServer.clientThreadList.connect(debugViewer.showThreadList) |
|
141 debugServer.clientDebuggerIds.connect(debugViewer.showDebuggersList) |
141 |
142 |
142 # Connect the signals emitted by the viewmanager |
143 # Connect the signals emitted by the viewmanager |
143 vm.editorOpened.connect(self.__editorOpened) |
144 vm.editorOpened.connect(self.__editorOpened) |
144 vm.lastEditorClosed.connect(self.__lastEditorClosed) |
145 vm.lastEditorClosed.connect(self.__lastEditorClosed) |
145 vm.checkActions.connect(self.__checkActions) |
146 vm.checkActions.connect(self.__checkActions) |
1268 E5MessageBox.information( |
1269 E5MessageBox.information( |
1269 self.ui, Program, |
1270 self.ui, Program, |
1270 self.tr('The program being debugged has terminated' |
1271 self.tr('The program being debugged has terminated' |
1271 ' unexpectedly.')) |
1272 ' unexpectedly.')) |
1272 |
1273 |
1273 def __getThreadList(self): |
1274 def __getThreadList(self, debuggerId=""): |
1274 """ |
1275 """ |
1275 Private method to get the list of threads from the client. |
1276 Private method to get the list of threads from the client. |
1276 """ |
1277 |
1277 self.debugServer.remoteThreadList() |
1278 @param debuggerId ID of the debugger backend |
|
1279 @type str |
|
1280 """ |
|
1281 self.debugServer.remoteThreadList(debuggerId=debuggerId) |
1278 |
1282 |
1279 def __clientThreadSet(self): |
1283 def __clientThreadSet(self): |
1280 """ |
1284 """ |
1281 Private method to handle a change of the client's current thread. |
1285 Private method to handle a change of the client's current thread. |
1282 """ |
1286 """ |
1283 self.debugServer.remoteClientVariables(0, self.localsVarFilter) |
1287 self.debugServer.remoteClientVariables(0, self.localsVarFilter) |
1284 |
1288 |
1285 def __getClientVariables(self): |
1289 def __getClientVariables(self, debuggerId=""): |
1286 """ |
1290 """ |
1287 Private method to request the global and local variables. |
1291 Private method to request the global and local variables. |
1288 |
1292 |
1289 In the first step, the global variables are requested from the client. |
1293 In the first step, the global variables are requested from the client. |
1290 Once these have been received, the local variables are requested. |
1294 Once these have been received, the local variables are requested. |
1291 This happens in the method '__clientVariables'. |
1295 This happens in the method '__clientVariables'. |
|
1296 |
|
1297 @param debuggerId ID of the debugger backend |
|
1298 @type str |
1292 """ |
1299 """ |
1293 # get globals first |
1300 # get globals first |
1294 self.debugServer.remoteClientVariables(1, self.globalsVarFilter) |
1301 self.debugServer.remoteClientVariables(1, self.globalsVarFilter, |
|
1302 debuggerId=debuggerId) |
1295 # the local variables are requested once we have received the globals |
1303 # the local variables are requested once we have received the globals |
1296 |
1304 |
1297 def __clientVariables(self, scope, variables): |
1305 def __clientVariables(self, scope, variables): |
1298 """ |
1306 """ |
1299 Private method to write the clients variables to the user interface. |
1307 Private method to write the clients variables to the user interface. |
1300 |
1308 |
1301 @param scope scope of the variables (-1 = empty global, 1 = global, |
1309 @param scope scope of the variables (-1 = empty locals, 1 = global, |
1302 0 = local) |
1310 0 = local) |
1303 @param variables the list of variables from the client |
1311 @param variables the list of variables from the client |
1304 """ |
1312 """ |
1305 self.ui.activateDebugViewer() |
1313 self.ui.activateDebugViewer() |
1306 if scope > 0: |
1314 if scope > 0: |
2323 Public method to get a list of all actions. |
2331 Public method to get a list of all actions. |
2324 |
2332 |
2325 @return list of all actions (list of E5Action) |
2333 @return list of all actions (list of E5Action) |
2326 """ |
2334 """ |
2327 return self.actions[:] |
2335 return self.actions[:] |
|
2336 |
|
2337 def getDebuggerData(self, debuggerId): |
|
2338 """ |
|
2339 Public method to refresh the debugging data of a specific debugger |
|
2340 backend. |
|
2341 |
|
2342 @param debuggerId ID of the debugger backend |
|
2343 @type str |
|
2344 """ |
|
2345 self.debugServer.remoteClientStack(debuggerId) |
|
2346 self.__getThreadList(debuggerId) |
|
2347 self.__getClientVariables(debuggerId) |