diff --git a/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/exploring-application-dynamic-state.wiki b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/exploring-application-dynamic-state.wiki index 66cd966b..bba96f90 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/exploring-application-dynamic-state.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/exploring-application-dynamic-state.wiki @@ -11,7 +11,7 @@ You can also query features dynamically by using the evaluation tool, which can {{seealso|
[[Interrupting an application|Pausing an application]]
-[[Callstack tool: Introduction|Call stack tool]]
+[[Call stack tool]]
[[Objects tool: Introduction|Object tool]]
[[Expression evaluation: Introduction|Evaluation tool]] }} diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-information-command.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-information-command.wiki index e6575197..32c8fbe3 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-information-command.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-information-command.wiki @@ -7,10 +7,11 @@ Display all breakpoints in a grid:
[[Image:breakpoints-list]] -Note: the * shows that the breakpoint has a [[Breakpoint menu|condition]] .
-Note: you can edit the selected breakpoint by double clicking on it, or pressing [enter] which show the menu.
-Note: you can disable/enable the selected breakpoint(s) by pressing [space].
-Note: you can sort by clicking the column, especially the first column which provide tree, flat or sorted view. +{{note|
+The * shows that the breakpoint has a [[Breakpoint menu|condition]] .
+You can edit the selected breakpoint by double clicking on it, or pressing [enter] which show the menu.
+You can disable/enable the selected breakpoint(s) by pressing [space].
+You can sort by clicking the column, especially the first column which provide tree, flat or sorted view. }} Display all breakpoints in a list:
diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-menu.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-menu.wiki index 62f739f1..2728dd5f 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-menu.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/breakpoints/breakpoint-menu.wiki @@ -12,7 +12,7 @@ Once done a dialog pops up where you can enter a condition: The condition is a Boolean expression that follows the same rule as the expression you can enter in the [[Expression evaluation|expression evaluation tool]] .
-{{warning|'''Caution''': if you enter an expression that is not supported or which raises an error during evaluation, by default the condition is considered as True (then the debugger will stop) }} +{{caution|If you enter an expression that is not supported or which raises an error during evaluation, by default the condition is considered as True (then the debugger will stop) }} {{seealso|
[[Breakpoint editing|Breakpoint menu]]
diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/call-stack-tool-interface.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/call-stack-tool-interface.wiki index 980af34c..1a5ec491 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/call-stack-tool-interface.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/call-stack-tool-interface.wiki @@ -3,6 +3,7 @@ [[Property:uuid|ff70f68f-31db-c5d1-4d68-7b0fc70b1dd7]] [[Image:call-stack-tool]] + The call stack tool gives information about the current call stack of a debugged application. It is mainly composed of a list representing the call stack elements, where the entry feature of the program is at the bottom and the top of the call stack is at the top.
@@ -14,10 +15,14 @@ It is mainly composed of a list representing the call stack elements, where the On top of this list, a line gives the state of the debugged application, and another one describes the exception that caused the application to stop, if any. For more information concerning exceptions, see the [[Supported exceptions|supported exceptions]] . The button [[Image:debug-exception-dialog-icon]] is used to open the Exception dialog which show the exception details. For instance a call on Void target in a dotnet system would popup : -
[[Image:exception-dialog]]
+ +[[Image:exception-dialog]] + When more than one thread is available to the debugger, you can switch from one to the other, for that you have to click on the thread's id "0x000..." and select from the popup list of available threads. Or (recommended) you can use the [[Threads tool|threads tool]] (clicking on '''Show threads panel''' will show the threads tool). -
[[Image:call-stack-tool-with-threads]]
+ + +[[Image:call-stack-tool-with-threads]] In the toolbar, the button [[Image:general-save-icon]] gives the possibility to [[Save call stack|save the call stack]] to a text file, and the button [[Image:general-copy-icon]] copy to the clipboard. The [[Image:debugger-callstack-depth-icon]] button makes it possible to choose which call stack depth should be displayed in the list (the default is to display the 100 top stack elements, but it is configurable with the same button). diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/index.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/index.wiki index 568d17f8..f779f9df 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/index.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/call-stack-tool/index.wiki @@ -1,12 +1,14 @@ [[Property:title|Call stack tool]] [[Property:weight|-13]] [[Property:uuid|8c3cd0fe-78aa-7ec6-f36a-2233a4e26755]] -* [[Callstack tool: Introduction|Introduction]] -* [[Call stack tool: Interface|Call stack tool]] -* [[Information relative to a stack element|Information about the current stack level]] -* [[Supported exceptions|Supported exceptions]] -* [[Save call stack|Save call stack command]] - - +The call stack is the list of routines that have been entered during execution, but not yet exited since execution started. The list can be considered a '''stack''' structure, because before any routine, say my_routine, can exit, any routine that my_routine may have called must have exited first. Therefore the last entered feature is listed at the top of the stack and the program root feature is its bottom. + +There is one level in the call stack, the currently selected element, that has a special status. It is the level to which all debugging tools refer. The currently selected element is, as you might guess, user-selectable. So it is possible to move along the call stack, changing the currently selected element, and view information in the debugging tools about any level.. + +To keep a record of a call stack (for example in order to indicate to other people where a problem occurred), you can [[Save call stack|save the call stack]] to a text file. + +Information concerning the call stack is spread over several graphical components: +* The entire call stack, depicted as a list of elements, is displayed in the [[Call stack tool: Interface|call stack tool]] . +* [[Information relative to a stack element|Information concerning the current call stack element]] is displayed in the feature tab, the locals view, and is used to provide the expressions evaluations contained in the [[Evaluation tool or Watch tool|Expression evaluator tool]] . diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/execution-commands/pause-application.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/execution-commands/pause-application.wiki index 8b4a31ad..a97dda4e 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/execution-commands/pause-application.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/execution-commands/pause-application.wiki @@ -3,7 +3,7 @@ [[Property:uuid|846b52cb-6654-23be-3576-cc175a6fbf04]] This command stops the execution of a running debugged application. -This gives access to dynamic information concerning the application, such as the current [[Callstack tool: Introduction|call stack]] and the [[Objects tool: Introduction|state of objects]] in the system. +This gives access to dynamic information concerning the application, such as the current [[Call stack tool|call stack]] and the [[Objects tool: Introduction|state of objects]] in the system. It is accessible through the '''project''' toolbar ( [[Image:debug-pause-icon]] ) or through the '''debug''' menu. diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/index.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/index.wiki index ac2b1a0b..4ee157ba 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/index.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/index.wiki @@ -1,7 +1,7 @@ [[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 [[Callstack tool: Introduction|call stack]] and the [[Objects tool: Introduction|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. +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 [[Objects tool: Introduction|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 diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/object-tool/remove-object-command.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/object-tool/remove-object-command.wiki index 199f8373..3ebe8263 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/object-tool/remove-object-command.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/debugger/object-tool/remove-object-command.wiki @@ -1,7 +1,7 @@ [[Property:title|Remove object command]] [[Property:weight|5]] [[Property:uuid|42b5ea32-ef9c-207f-7dbe-c871a4515db3]] -Located in the [[Objects tool: Introduction|object tool]] toolbar, this command [[Image:general-delete-icon]] discards an object from the [[Objects tool: Introduction|object tools]] . All top-level objects can be removed, except the first one, which is the object relative to the [[Callstack tool: Introduction|current call stack element]] . +Located in the [[Objects tool: Introduction|object tool]] toolbar, this command [[Image:general-delete-icon]] discards an object from the [[Objects tool: Introduction|object tools]] . All top-level objects can be removed, except the first one, which is the object relative to the [[Call stack tool|current call stack element]] . Left-clicking on this button removes the selected object from the [[Objects tool: Introduction|object tools]] , if possible. It is also possible to [[Pick-and-drop mechanism|drop]] an object onto the button to remove the object.