| Online Eiffel Documentation

EiffelStudio

# Introduction

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

And from 5.2 onwards, the following functionality is also available:

- 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