Version
Debugger
A debugger is a tool that allows you to run an application and view its state at any moment. This includes having information concerning the current call stack and the state of objects of the system, i.e. the values of their attributes. This kind of information can be used to spot objects that have invalid states, to see the consequences of the execution of a feature over an object state, and so on.
The features of the EiffelStudio debugger include:
- Stopping the application in frozen features as well as in melted features
- Stepping into features, executing them one line at a time , or stepping out of them
- Setting breakpoints on-the-fly, while the execution is running
- Dynamic evaluation of expressions
- Conditional breakpoints
- Stack overflow prevention
- Classes can implement the debug_output interface and have their objects display a string in the debugger
- Execution can be recorded to be replayed when execution is paused, use the execution replay mechanism from the call stack tool interface, and have the debugging tools updated.
- Debuggee objects can be stored/retrieved from the debugger, check the debuggee object storage mechanism available from the objects tool, and watch tools' toolbar.
Read more
- Execution commands
- Breakpoints
- Call stack tool
- Execution record and replay
- Object tool
- Expression evaluation
- Debuggee's Object Storage
- Threads tool
- Exceptions handling tool
- Stack overflow prevention
- Debugging tips with the objects grid view
- Debugging preferences
- Command line debugger
- Debugging limitations
Back to Reference