mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
Date:2009-01-20T18:56:06.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@166 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
19 lines
1.6 KiB
Plaintext
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.
|
|
|
|
|
|
|