# eric4.Debugger.DebugUI

Module implementing the debugger UI.

### Global Attributes

None

### Classes

DebugUI | Class implementing the debugger part of the UI.

### Functions

None

## DebugUI

Class implementing the debugger part of the UI.

### Signals

appendStdout(msg)
  emitted when the client program has terminated and the display of the termination dialog is suppressed
clientStack(stack)
  emitted at breaking after a reported exception
compileForms()
  emitted if changed project forms should be compiled
compileResources()
  emitted if changed project resources should be compiled
debuggingStarted(filename)
  emitted when a debugging session was started
exceptionInterrupt()
  emitted after the execution was interrupted by an exception and acknowledged by the user
resetUI()
  emitted to reset the UI

### Derived from

QObject

### Class Attributes

None

### Class Methods

None

### Methods

DebugUI | Constructor
__breakpointSelected | Private method to handle the breakpoint selected signal.
__checkActions | Private slot to check some actions for their enable/disable status.
__clearBreakpoints | Private slot to handle the 'Clear breakpoints' action.
__clientBreakConditionError | Private method to handle a condition error of a breakpoint.
__clientException | Private method to handle an exception of the debugged program.
__clientExit | Private method to handle the debugged program terminating.
__clientGone | Private method to handle the disconnection of the debugger client.
__clientLine | Private method to handle a change to the current line.
__clientSyntaxError | Private method to handle a syntax error in the debugged program.
__clientThreadSet | Private method to handle a change of the client's current thread.
__clientVariable | Private method to write the contents of a clients classvariable to the user interface.
__clientVariables | Private method to write the clients variables to the user interface.
__clientWatchConditionError | Public method to handle a expression error of a watch expression.
__compileChangedProjectFiles | Private method to signal compilation of changed forms and resources is wanted.
__configureExceptionsFilter | Private slot for displaying the exception filter dialog.
__configureIgnoredExceptions | Private slot for displaying the ignored exceptions dialog.
__configureVariablesFilters | Private slot for displaying the variables filter configuration dialog.
__continue | Private method to handle the Continue action.
__coverageProject | Private slot to handle the coverage of project action.
__coverageScript | Private slot to handle the coverage of script action.
__cursorChanged | Private slot handling the cursorChanged signal of the viewmanager.
__debugProject | Private slot to handle the debug project action.
__debugScript | Private slot to handle the debug script action.
__doCoverage | Private method to handle the coverage actions.
__doDebug | Private method to handle the debug actions.
__doProfile | Private method to handle the profile actions.
__doRestart | Private slot to handle the restart action to restart the last debugged file.
__doRun | Private method to handle the run actions.
__editBreakpoint | Private slot to handle the 'Edit breakpoint' action.
__editorOpened | Private slot to handle the editorOpened signal.
__enterRemote | Private method to update the user interface.
__eval | Private method to handle the Eval action.
__exec | Private method to handle the Exec action.
__getClientVariables | Private method to request the global and local variables.
__getThreadList | Private method to get the list of threads from the client.
__lastEditorClosed | Private slot to handle the closeProgram signal.
__nextBreakpoint | Private slot to handle the 'Next breakpoint' action.
__passiveDebugStarted | Private slot to handle a passive debug session start.
__previousBreakpoint | Private slot to handle the 'Previous breakpoint' action.
__profileProject | Private slot to handle the profile project action.
__profileScript | Private slot to handle the profile script action.
__projectClosed | Private slot to handle the projectClosed signal.
__projectOpened | Private slot to handle the projectOpened signal.
__projectSessionLoaded | Private slot to handle the projectSessionLoaded signal.
__resetUI | Private slot to reset the user interface.
__runProject | Private slot to handle the run project action.
__runScript | Private slot to handle the run script action.
__runToCursor | Private method to handle the Run to Cursor action.
__showBreakpointsMenu | Private method to handle the show breakpoints menu signal.
__showDebugMenu | Private method to set up the debug menu.
__specialContinue | Private method to handle the Special Continue action.
__step | Private method to handle the Step action.
__stepOut | Private method to handle the Step Out action.
__stepOver | Private method to handle the Step Over action.
__stepQuit | Private method to handle the Step Quit action.
__stopScript | Private slot to stop the running script.
__toggleBreakpoint | Private slot to handle the 'Set/Reset breakpoint' action.
getActions | Public method to get a list of all actions.
initActions | Method defining the user interface actions.
initMenus | Public slot to initialize the project menu.
initToolbars | Public slot to initialize the debug toolbars.
setArgvHistory | Public slot to initialize the argv history.
setAutoClearShell | Public slot to initialize the autoClearShell flag.
setAutoContinue | Public slot to initialize the autoContinue flag.
setEnvHistory | Public slot to initialize the env history.
setExcIgnoreList | Public slot to initialize the ignored exceptions type list.
setExcList | Public slot to initialize the exceptions type list.
setExceptionReporting | Public slot to initialize the exception reporting flag.
setTracePython | Public slot to initialize the trace Python flag.
setWdHistory | Public slot to initialize the wd history.
shutdown | Public method to perform shutdown actions.
shutdownServer | Public method to shut down the debug server.
variablesFilter | Public method to get the variables filter for a scope.

### Static Methods

None

#### DebugUI (Constructor)

DebugUI(ui, vm, debugServer, debugViewer, project)

Constructor

ui
  reference to the main UI
vm
  reference to the viewmanager
debugServer
  reference to the debug server
debugViewer
  reference to the debug viewer widget
project
  reference to the project object

#### DebugUI.__breakpointSelected

__breakpointSelected(act)

Private method to handle the breakpoint selected signal.

act
  reference to the action that triggered (QAction)

#### DebugUI.__checkActions

__checkActions(editor)

Private slot to check some actions for their enable/disable status.

editor
  editor window

#### DebugUI.__clearBreakpoints

__clearBreakpoints()

Private slot to handle the 'Clear breakpoints' action.

#### DebugUI.__clientBreakConditionError

__clientBreakConditionError(filename, lineno)

Private method to handle a condition error of a breakpoint.

filename
  filename of the breakpoint
lineno
  linenumber of the breakpoint

#### DebugUI.__clientException

__clientException(exceptionType, exceptionMessage, stackTrace)

Private method to handle an exception of the debugged program.

exceptionType
  type of exception raised (string)
exceptionMessage
  message given by the exception (string)
stackTrace
  list of stack entries.

#### DebugUI.__clientExit

__clientExit(status)

Private method to handle the debugged program terminating.

status
  exit code of the debugged program (int)

#### DebugUI.__clientGone

__clientGone(unplanned)

Private method to handle the disconnection of the debugger client.

unplanned
  1 if the client died, 0 otherwise

#### DebugUI.__clientLine

__clientLine(fn, line, forStack)

Private method to handle a change to the current line.

fn
  filename (string)
line
  linenumber (int)
forStack
  flag indicating this is for a stack dump (boolean)

#### DebugUI.__clientSyntaxError

__clientSyntaxError(message, filename, lineNo, characterNo)

Private method to handle a syntax error in the debugged program.

message
  message of the syntax error (string)
filename
  translated filename of the syntax error position (string)
lineNo
  line number of the syntax error position (integer)
characterNo
  character number of the syntax error position (integer)

#### DebugUI.__clientThreadSet

__clientThreadSet()

Private method to handle a change of the client's current thread.

#### DebugUI.__clientVariable

__clientVariable(scope, variables)

Private method to write the contents of a clients classvariable to the user interface.

scope
  scope of the variables (-1 = empty global, 1 = global, 0 = local)
variables
  the list of members of a classvariable from the client

#### DebugUI.__clientVariables

__clientVariables(scope, variables)

Private method to write the clients variables to the user interface.

scope
  scope of the variables (-1 = empty global, 1 = global, 0 = local)
variables
  the list of variables from the client

#### DebugUI.__clientWatchConditionError

__clientWatchConditionError(cond)

Public method to handle a expression error of a watch expression.

Note: This can only happen for normal watch expressions

cond
  expression of the watch expression (string or QString)

#### DebugUI.__compileChangedProjectFiles

__compileChangedProjectFiles()

Private method to signal compilation of changed forms and resources is wanted.

#### DebugUI.__configureExceptionsFilter

__configureExceptionsFilter()

Private slot for displaying the exception filter dialog.

#### DebugUI.__configureIgnoredExceptions

__configureIgnoredExceptions()

Private slot for displaying the ignored exceptions dialog.

#### DebugUI.__configureVariablesFilters

__configureVariablesFilters()

Private slot for displaying the variables filter configuration dialog.

#### DebugUI.__continue

__continue()

Private method to handle the Continue action.

#### DebugUI.__coverageProject

__coverageProject()

Private slot to handle the coverage of project action.

#### DebugUI.__coverageScript

__coverageScript()

Private slot to handle the coverage of script action.

#### DebugUI.__cursorChanged

__cursorChanged(editor)

Private slot handling the cursorChanged signal of the viewmanager.

editor
  editor window

#### DebugUI.__debugProject

__debugProject()

Private slot to handle the debug project action.

#### DebugUI.__debugScript

__debugScript()

Private slot to handle the debug script action.

#### DebugUI.__doCoverage

__doCoverage(runProject)

Private method to handle the coverage actions.

runProject
  flag indicating coverage of the current project (True) or script (false)

#### DebugUI.__doDebug

__doDebug(debugProject)

Private method to handle the debug actions.

debugProject
  flag indicating debugging the current project (True) or script (False)

#### DebugUI.__doProfile

__doProfile(runProject)

Private method to handle the profile actions.

runProject
  flag indicating profiling of the current project (True) or script (False)

#### DebugUI.__doRestart

__doRestart()

Private slot to handle the restart action to restart the last debugged file.

#### DebugUI.__doRun

__doRun(runProject)

Private method to handle the run actions.

runProject
  flag indicating running the current project (True) or script (False)

#### DebugUI.__editBreakpoint

__editBreakpoint()

Private slot to handle the 'Edit breakpoint' action.

#### DebugUI.__editorOpened

__editorOpened(fn)

Private slot to handle the editorOpened signal.

fn
  filename of the opened editor

#### DebugUI.__enterRemote

__enterRemote()

Private method to update the user interface.

This method is called just prior to executing some of the program being debugged.

#### DebugUI.__eval

__eval()

Private method to handle the Eval action.

#### DebugUI.__exec

__exec()

Private method to handle the Exec action.

#### DebugUI.__getClientVariables

__getClientVariables()

Private method to request the global and local variables.

In the first step, the global variables are requested from the client. Once these have been received, the local variables are requested. This happens in the method '__clientVariables'.

#### DebugUI.__getThreadList

__getThreadList()

Private method to get the list of threads from the client.

#### DebugUI.__lastEditorClosed

__lastEditorClosed()

Private slot to handle the closeProgram signal.

#### DebugUI.__nextBreakpoint

__nextBreakpoint()

Private slot to handle the 'Next breakpoint' action.

#### DebugUI.__passiveDebugStarted

__passiveDebugStarted(fn, exc)

Private slot to handle a passive debug session start.

fn
  filename of the debugged script
exc
  flag to enable exception reporting of the IDE (boolean)

#### DebugUI.__previousBreakpoint

__previousBreakpoint()

Private slot to handle the 'Previous breakpoint' action.

#### DebugUI.__profileProject

__profileProject()

Private slot to handle the profile project action.

#### DebugUI.__profileScript

__profileScript()

Private slot to handle the profile script action.

#### DebugUI.__projectClosed

__projectClosed()

Private slot to handle the projectClosed signal.

#### DebugUI.__projectOpened

__projectOpened()

Private slot to handle the projectOpened signal.

#### DebugUI.__projectSessionLoaded

__projectSessionLoaded()

Private slot to handle the projectSessionLoaded signal.

#### DebugUI.__resetUI

__resetUI()

Private slot to reset the user interface.

#### DebugUI.__runProject

__runProject()

Private slot to handle the run project action.

#### DebugUI.__runScript

__runScript()

Private slot to handle the run script action.

#### DebugUI.__runToCursor

__runToCursor()

Private method to handle the Run to Cursor action.

#### DebugUI.__showBreakpointsMenu

__showBreakpointsMenu()

Private method to handle the show breakpoints menu signal.

#### DebugUI.__showDebugMenu

__showDebugMenu()

Private method to set up the debug menu.

#### DebugUI.__specialContinue

__specialContinue()

Private method to handle the Special Continue action.

#### DebugUI.__step

__step()

Private method to handle the Step action.

#### DebugUI.__stepOut

__stepOut()

Private method to handle the Step Out action.

#### DebugUI.__stepOver

__stepOver()

Private method to handle the Step Over action.

#### DebugUI.__stepQuit

__stepQuit()

Private method to handle the Step Quit action.

#### DebugUI.__stopScript

__stopScript()

Private slot to stop the running script.

#### DebugUI.__toggleBreakpoint

__toggleBreakpoint()

Private slot to handle the 'Set/Reset breakpoint' action.

#### DebugUI.getActions

getActions()

Public method to get a list of all actions.

Returns:
  list of all actions (list of E4Action)

#### DebugUI.initActions

initActions()

Method defining the user interface actions.

#### DebugUI.initMenus

initMenus()

Public slot to initialize the project menu.

Returns:
  the generated menu

#### DebugUI.initToolbars

initToolbars(toolbarManager)

Public slot to initialize the debug toolbars.

toolbarManager
  reference to a toolbar manager object (E4ToolBarManager)

Returns:
  the generated toolbars (list of QToolBar)

#### DebugUI.setArgvHistory

setArgvHistory(argsStr, clearHistories = False)

Public slot to initialize the argv history.

argsStr
  the commandline arguments (string or QString)
clearHistories
  flag indicating, that the list should be cleared (boolean)

#### DebugUI.setAutoClearShell

setAutoClearShell(autoClearShell)

Public slot to initialize the autoClearShell flag.

autoClearShell
  flag indicating, that the interpreter window should be cleared (boolean)

#### DebugUI.setAutoContinue

setAutoContinue(autoContinue)

Public slot to initialize the autoContinue flag.

autoContinue
  flag indicating, that the debugger should not stop at the first executable line (boolean)

#### DebugUI.setEnvHistory

setEnvHistory(envStr, clearHistories = False)

Public slot to initialize the env history.

envStr
  the environment settings (string or QString)
clearHistories
  flag indicating, that the list should be cleared (boolean)

#### DebugUI.setExcIgnoreList

setExcIgnoreList(excIgnoreList)

Public slot to initialize the ignored exceptions type list.

excIgnoreList
  list of ignored exception types (QStringList)

#### DebugUI.setExcList

setExcList(excList)

Public slot to initialize the exceptions type list.

excList
  list of exception types (QStringList)

#### DebugUI.setExceptionReporting

setExceptionReporting(exceptions)

Public slot to initialize the exception reporting flag.

exceptions
  flag indicating exception reporting status (boolean)

#### DebugUI.setTracePython

setTracePython(tracePython)

Public slot to initialize the trace Python flag.

tracePython
  flag indicating if the Python library should be traced as well (boolean)

#### DebugUI.setWdHistory

setWdHistory(wdStr, clearHistories = False)

Public slot to initialize the wd history.

wdStr
  the working directory (string or QString)
clearHistories
  flag indicating, that the list should be cleared (boolean)

#### DebugUI.shutdown

shutdown()

Public method to perform shutdown actions.

#### DebugUI.shutdownServer

shutdownServer()

Public method to shut down the debug server.

This is needed to cleanly close the sockets on Win OS.

Returns:
  always true

#### DebugUI.variablesFilter

variablesFilter(scope)

Public method to get the variables filter for a scope.

scope
  flag indicating global (True) or local (False) scope

Up