- Software Installation
- EiffelStudio How To's
- EiffelStudio: A Guided Tour
- EiffelStudio Reference
- EiffelStudio release notes
- EiffelStudio: General interface description
- Browsing tools
- EiffelStudio Editor
- Contract Editor tool
- EiffelStudio: Project settings window
- Compiler
- Debugger
- 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
- EiffelStudio's debugger release notes
- Release notes for EiffelStudio 7.1 related to the debugger
- Release notes for EiffelStudio 7.0 related to the debugger
- EiffelStudio 6 debugger release notes
- Release notes for EiffelStudio 6.8 related to the debugger
- Release notes for EiffelStudio 6.7 related to the debugger
- Release notes for EiffelStudio 6.6 related to the debugger
- Release notes for EiffelStudio 6.5 related to the debugger
- Release notes for EiffelStudio 6.4 related to the debugger
- Release notes for EiffelStudio 6.3 related to the debugger
- Release notes for EiffelStudio 6.2 related to the debugger
- Release notes for EiffelStudio 6.1 related to the debugger
- Release notes for EiffelStudio 6.0 related to the debugger
- EiffelStudio 5 debugger release notes
- Error List Tool
- Diagram tool
- Metrics tool
- Console tool
- Outputs tool
- Eiffel Information System
- AutoTest
- Wizards and dialogs
- EiffelStudio Preferences
- Formatted information about compiled classes and features
- Beta documentation
Release notes for EiffelStudio 6.0 related to the debugger
Graphical environment
- Added auto expressions on watch tools, it suffices to toggle the auto button in any of the watch tool's toolbar.
- Enhanced breakpoint mechanism by adding print message, hit count (condition), and provide Is True and Has Changed condition.
- Improved the debugging options dialog with the ability to define the environment variables passed down to the debugged application.
- Added some configuration of the Objects tool grid. It is now possible to change the order of 'Current, arguments, locals, ...'.
- Added start workbench and finalized system on Debugging option dialogs.
- Added a new way to look at objects with the object viewer.
- Added a
rescueclause indicator in call stack tool's grid. - One can decide to stay in debugging mode even when compiling.
- Added possibility to continue on conditional breakpoint evaluation failure.
- Removed useless Attributes row in debugger's objects tree.
- The once routines node now shows states of once procedures in addition of the state of once functions.
- Improved cosmetic of debugger's exception handling dialog.
Debugger engine
- Added support for creation of instance of class (including generic).
- Added support for manifest TUPLE, and manifest ARRAY.
- Added support for static routine evaluation.
- Added ability to disable/restore assertion checking during debugging.
- Added evaluation of instructions with the debugger (i.e: procedure call).
- Fixed bug#12934 where the debugger would cause a memory corruption in a running multithreaded program.
- Fixed bug#12750 where the stack overflow detection was not working on Linux.
- Fixed bug#11755 where empty strings with a large capacity were slow to be displayed.
Current restrictions and known issues
General limitations:
- Watch expression: Agent are not supported (for instance "agent my_function" is not supported".
- You cannot yet create an instance of SPECIAL.
- The debugger is not very helpful when the execution is stopped in an invariant.
Limitations or known bugs for the Classic debugger:
- Evaluate
Precursorwill result the current feature's result (not the precursor) - If you use any of the previous non supported expression in a breakpoint condition, the condition will always return True, and the debugger will stop on such condition breakpoint
Limitations or known bugs for the .Net debugger:
- When stepping through disabled assertions or disabled debug clauses, the debugger may show incorrect current line.
- When stepping through an inspect code, the debugger may show incorrect current line (especially if the inspect is not ordered)
- Under dotnet v2.0 beta, the debugger may have difficulties to fetch the stack values, especially during first chance exception events
Various known bugs for classic system :
- Wrong assertion tag shown in debugger for precondition violation if violated during an exception rescue, indeed the tag remains the one from the exception
- "Disable Assertion Handling" may be cancel if used in an exception rescue context