You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/NewTools-Debugger/StDebugger.class.st
+12-14Lines changed: 12 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -3,13 +3,11 @@ The StDebugger is a presenter that provides Pharo debugging functionality by usi
3
3
4
4
The debugging logic is in DebugSession and the corresponding debugging actions.
5
5
6
-
SpecDebugger only provides a graphical interface to access that functionality.
7
-
To interact with the DebugSession, the debugger uses a StDebuggerActionModel, which has responsibility to perform actions to the execution context.
6
+
StDebugger only provides a graphical interface to access that functionality.
7
+
To interact with the `DebugSession`, the debugger uses a `StDebuggerClientModel`, which has responsibility to perform actions to the execution context.
8
8
9
-
10
-
!!Structure of the Pharo debugger
11
-
12
-
!!!Sub-presenters and layouts
9
+
## Structure of the Pharo debugger
10
+
### Sub-presenters and layouts
13
11
The debugger is composed of default views and extension views.
14
12
Default views are the stack, the commands, the status line, the code pane and the inspector.
15
13
An extension view automatically appears if any debugging extension is present and if extensions are activated in the settings.
@@ -19,9 +17,9 @@ Default and extension views are available in a vertical and an horizontal layout
19
17
It is configureable in the settings under ==Tools >> Debugging >> Debugger layout==.
20
18
It is possible to fully customize the debugger layout, and therefore to add or remove any view.
21
19
The customized layout must then me selected in the aforementioned setting to be set as default.
22
-
To appear in that setting's list of possible values, the layout must be implemented in a method under the ==specs== protocol of the ==StDebugger== class side.
20
+
To appear in that setting's list of possible values, the layout must be implemented in a method under the ==specs== protocol of the `StDebugger` class side.
23
21
24
-
""""The stack.""""
22
+
### The stack
25
23
It shows the call stack of the current interrupted context.
26
24
Each element in the stack is a context representing a message send.
27
25
@@ -30,33 +28,33 @@ The context menu (through right click) provides different interactions with the
30
28
By default, only a small part of the stack is shown.
31
29
More of the stack is observable by either clicking on the bottom context (the last in the stack) or through the context menu.
32
30
33
-
""""Commands.""""
31
+
### Commands
34
32
Commands are actions applicable to the current context
35
33
After each debugging action (''e.g.'', a step), the list of commands is being updated.
36
34
New commands may appear or disappear.
37
35
It depends if they are applicable or not to the current context and debugging session.
38
36
For instance, when a ==doesNotUnderstand== exception is raised (''i.e.'', a method does not exist), the command ''createMethod'' will appear.
39
37
In that case, it gives users the possibility to create the missing method and continue the execution.
40
38
41
-
""""The status line.""""
39
+
### The status line
42
40
This view provides information about the current context.
43
41
Non-critical information, such as the current instruction being stepped, are displayed in gray.
44
42
Critical information ,such as halts or breakpoints or DNU exceptions, are displayed in red.
45
43
46
-
""""The code.""""
44
+
### The code
47
45
The code pane shows the source code of the interrupted context's method.
48
46
The source code is annotated with informations about the position of the interrupted execution.
49
47
This position corresponds to the next execution that will be executed if a step action is performed.
50
48
It is coloured in blue if that instruction is selected in the source code, or in orange and underlined if the selection is empty.
51
49
52
50
A context menu (through right click) provides inspection, exploration, and stepping actions applicable to the context.
53
-
Such actions include, ''e.g.'', browse implementors of a selected message or skip execution of selected parts of the code.
51
+
Such actions include, *e.g.*, browse implementors of a selected message or skip execution of selected parts of the code.
54
52
55
-
""""The inspector.""""
53
+
### The inspector
56
54
It provides views on the current context.
57
55
It contains tabs with different inspections or views on the current context or on the system.
58
56
59
-
The raw inspection shows three items: ''Receiver'', ''Temps'' and ''Context''.
57
+
The raw inspection shows three items: *Receiver*, *Temps* and *Context*.
60
58
The receiver item shows information about the receiver of the message, or the object executing the method from the context.
61
59
The temps item shows the temporary variables of the current context.
62
60
Finally, the context item shows lower-level details, such as the interrupted context, the debug session or the debugger itself.
directoryTreePresenter selectPath: aPathForSpec scrollToSelection:true. "The Morphic `configureScrolling` is executed **AFTER** the desired scroll was configured from the `StDirectoryTreePresenter`. Furthermore, the `configureScrolling` uses the `desiredVisibleRow` which is always set to 1. This statement updates the desired visible row to the last visible index of whatever the selection is pointing to."
0 commit comments