202 self.callStackViewer = CallStackViewer(self.debugServer) |
206 self.callStackViewer = CallStackViewer(self.debugServer) |
203 index = self.__tabWidget.addTab( |
207 index = self.__tabWidget.addTab( |
204 self.callStackViewer, |
208 self.callStackViewer, |
205 UI.PixmapCache.getIcon("callStack"), "") |
209 UI.PixmapCache.getIcon("callStack"), "") |
206 self.__tabWidget.setTabToolTip( |
210 self.__tabWidget.setTabToolTip( |
207 index, self.callStackViewer.windowTitle()) |
211 index, |
|
212 self.tr("Shows the current call stack.")) |
208 self.callStackViewer.sourceFile.connect(self.sourceFile) |
213 self.callStackViewer.sourceFile.connect(self.sourceFile) |
209 self.callStackViewer.frameSelected.connect( |
214 self.callStackViewer.frameSelected.connect( |
210 self.__callStackFrameSelected) |
215 self.__callStackFrameSelected) |
211 |
216 |
212 from .CallTraceViewer import CallTraceViewer |
217 from .CallTraceViewer import CallTraceViewer |
214 self.callTraceViewer = CallTraceViewer(self.debugServer, self) |
219 self.callTraceViewer = CallTraceViewer(self.debugServer, self) |
215 index = self.__tabWidget.addTab( |
220 index = self.__tabWidget.addTab( |
216 self.callTraceViewer, |
221 self.callTraceViewer, |
217 UI.PixmapCache.getIcon("callTrace"), "") |
222 UI.PixmapCache.getIcon("callTrace"), "") |
218 self.__tabWidget.setTabToolTip( |
223 self.__tabWidget.setTabToolTip( |
219 index, self.callTraceViewer.windowTitle()) |
224 index, |
|
225 self.tr("Shows a trace of the program flow.")) |
220 self.callTraceViewer.sourceFile.connect(self.sourceFile) |
226 self.callTraceViewer.sourceFile.connect(self.sourceFile) |
221 |
227 |
222 from .BreakPointViewer import BreakPointViewer |
228 from .BreakPointViewer import BreakPointViewer |
223 # add the breakpoint viewer |
229 # add the breakpoint viewer |
224 self.breakpointViewer = BreakPointViewer() |
230 self.breakpointViewer = BreakPointViewer() |
225 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) |
231 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) |
226 index = self.__tabWidget.addTab( |
232 index = self.__tabWidget.addTab( |
227 self.breakpointViewer, |
233 self.breakpointViewer, |
228 UI.PixmapCache.getIcon("breakpoints"), '') |
234 UI.PixmapCache.getIcon("breakpoints"), '') |
229 self.__tabWidget.setTabToolTip( |
235 self.__tabWidget.setTabToolTip( |
230 index, self.breakpointViewer.windowTitle()) |
236 index, |
|
237 self.tr("Shows a list of defined breakpoints.")) |
231 self.breakpointViewer.sourceFile.connect(self.sourceFile) |
238 self.breakpointViewer.sourceFile.connect(self.sourceFile) |
232 |
239 |
233 from .WatchPointViewer import WatchPointViewer |
240 from .WatchPointViewer import WatchPointViewer |
234 # add the watch expression viewer |
241 # add the watch expression viewer |
235 self.watchpointViewer = WatchPointViewer() |
242 self.watchpointViewer = WatchPointViewer() |
236 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) |
243 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) |
237 index = self.__tabWidget.addTab( |
244 index = self.__tabWidget.addTab( |
238 self.watchpointViewer, |
245 self.watchpointViewer, |
239 UI.PixmapCache.getIcon("watchpoints"), '') |
246 UI.PixmapCache.getIcon("watchpoints"), '') |
240 self.__tabWidget.setTabToolTip( |
247 self.__tabWidget.setTabToolTip( |
241 index, self.watchpointViewer.windowTitle()) |
248 index, |
|
249 self.tr("Shows a list of defined watchpoints.")) |
242 |
250 |
243 from .ExceptionLogger import ExceptionLogger |
251 from .ExceptionLogger import ExceptionLogger |
244 # add the exception logger |
252 # add the exception logger |
245 self.exceptionLogger = ExceptionLogger() |
253 self.exceptionLogger = ExceptionLogger() |
246 index = self.__tabWidget.addTab( |
254 index = self.__tabWidget.addTab( |
247 self.exceptionLogger, |
255 self.exceptionLogger, |
248 UI.PixmapCache.getIcon("exceptions"), '') |
256 UI.PixmapCache.getIcon("exceptions"), '') |
249 self.__tabWidget.setTabToolTip( |
257 self.__tabWidget.setTabToolTip( |
250 index, self.exceptionLogger.windowTitle()) |
258 index, |
|
259 self.tr("Shows a list of raised exceptions.")) |
251 |
260 |
252 from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
261 from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
253 # add the Python disassembly viewer |
262 # add the Python disassembly viewer |
254 self.disassemblyViewer = PythonDisViewer( |
263 self.disassemblyViewer = PythonDisViewer( |
255 None, mode=PythonDisViewerModes.TracebackMode) |
264 None, mode=PythonDisViewerModes.TracebackMode) |
256 index = self.__tabWidget.addTab( |
265 index = self.__tabWidget.addTab( |
257 self.disassemblyViewer, |
266 self.disassemblyViewer, |
258 UI.PixmapCache.getIcon("disassembly"), '') |
267 UI.PixmapCache.getIcon("disassembly"), '') |
259 self.__tabWidget.setTabToolTip( |
268 self.__tabWidget.setTabToolTip( |
260 index, self.disassemblyViewer.windowTitle()) |
269 index, |
|
270 self.tr("Shows a code disassembly in case of an exception.")) |
261 |
271 |
262 self.__tabWidget.setCurrentWidget(self.glvWidget) |
272 self.__tabWidget.setCurrentWidget(self.glvWidget) |
263 |
273 |
264 # add the threads viewer |
274 # add the threads viewer |
265 self.__threadWidget = QWidget() |
275 self.__threadWidget = QWidget() |
482 @param quiet flag indicating to suppress exit info display |
492 @param quiet flag indicating to suppress exit info display |
483 @type bool |
493 @type bool |
484 @param debuggerId ID of the debugger backend |
494 @param debuggerId ID of the debugger backend |
485 @type str |
495 @type str |
486 """ |
496 """ |
487 if debuggerId == self.getSelectedDebuggerId(): |
497 if not self.isOnlyDebugger(): |
488 # the current client has exited |
498 if debuggerId == self.getSelectedDebuggerId(): |
489 self.globalsViewer.handleResetUI() |
499 # the current client has exited |
490 self.localsViewer.handleResetUI() |
500 self.globalsViewer.handleResetUI() |
491 self.setGlobalsFilter() |
501 self.localsViewer.handleResetUI() |
492 self.setLocalsFilter() |
502 self.setGlobalsFilter() |
493 self.sourceButton.setEnabled(False) |
503 self.setLocalsFilter() |
494 self.currentStack = None |
504 self.sourceButton.setEnabled(False) |
495 self.stackComboBox.clear() |
505 self.currentStack = None |
496 self.__threadList.clear() |
506 self.stackComboBox.clear() |
497 self.__removeDebugger(debuggerId) |
507 self.__threadList.clear() |
|
508 |
|
509 self.__removeDebugger(debuggerId) |
498 |
510 |
499 def __clientSyntaxError(self, message, filename, lineNo, characterNo, |
511 def __clientSyntaxError(self, message, filename, lineNo, characterNo, |
500 debuggerId): |
512 debuggerId): |
501 """ |
513 """ |
502 Private method to handle a syntax error in the debugged program. |
514 Private method to handle a syntax error in the debugged program. |