Files
eiffel-org/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/index.wiki
halw 7e389c6bc5 Author:halw
Date:2009-01-20T18:56:06.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@166 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
2009-01-20 18:56:06 +00:00

19 lines
1.6 KiB
Plaintext

[[Property:title|Debugger]]
[[Property:weight|-8]]
[[Property:uuid|31c4857e-f19e-e9e3-b7db-d6c30515277f]]
A debugger is a tool that allows you to [[Execution commands|run]] an application and view its state at any moment. This includes having information concerning the current [[Call stack tool|call stack]] and the [[Object tool|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
* [[Step into a feature|Stepping into]] features, [[Execute one line at a time|executing them one line at a time]] , or [[Step out of a feature|stepping out]] of them
* Setting [[Breakpoints|breakpoints]] on-the-fly, while the execution is running
* [[Expression evaluation|Dynamic evaluation of expressions]]
* [[Breakpoints|Conditional breakpoints]]
* [[Stack overflow prevention|Stack overflow prevention]]
* Classes can implement the [[Debug output|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 record and replay|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's Object Storage|debuggee object storage mechanism]] available from the objects tool, and watch tools' toolbar.