From 5bec485d485e4351ca5fa9a5a37ad04ff7ab62c9 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 14 Jan 2024 18:07:10 +0000 Subject: [PATCH] Update screenshots/help for 02ef10e12b216e8a0880c33410b10ce73146d86d --- help/TDBHistoryExplorerHelp/entryPoints.html | 2 +- help/TDBHistoryExplorerHelp/structure.html | 2 +- help/advancedNavigation.html | 2 +- help/findingContexts.html | 2 +- help/learnMore.html | 2 +- help/structure.html | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/help/TDBHistoryExplorerHelp/entryPoints.html b/help/TDBHistoryExplorerHelp/entryPoints.html index aaa866ca..ba11eb2a 100644 --- a/help/TDBHistoryExplorerHelp/entryPoints.html +++ b/help/TDBHistoryExplorerHelp/entryPoints.html @@ -1 +1 @@ -Entry points

There are two entry points to the history explorer:

1. From a running trace debugger, yellow-click any field in one of the inspectors. Select "explore field history" to explore all values that have been assigned to the field, or select "explore value history" to explore the history of the current value.



Alternatively, you can enter any expression into the inspector's code pane and select "explore expression history" from the yellow button menu.

Tip: These items are also available from any spawned snapshot inspector/explorer (see Structure).

2. Record and explore an object history using the opening protocol of TDBHistoryExplorer:

TDBHistoryExplorer
    openForBlock:
        [(Array new: 3)
            at: 1 put: #one;
            at: 2 put: #two;
            at: 3 put: #three;
            yourself]
    expression: 'self copy'.

For more inspiration, browse all invocation examples. \ No newline at end of file +Entry points

There are two entry points to the history explorer:

1. From a running trace debugger, yellow-click any field in one of the inspectors. Select "explore field history" to explore all values that have been assigned to the field, or select "explore value history" to explore the history of the current value.



Alternatively, you can enter any expression into the inspector's code pane and select "explore expression history" from the yellow button menu.

Tip: These items are also available from any spawned snapshot inspector/explorer (see Structure).

2. Record and explore an object history using the opening protocol of TDBHistoryExplorer:

TDBHistoryExplorer
    openForBlock:
        [(Array new: 3)
            at: 1 put: #one;
            at: 2 put: #two;
            at: 3 put: #three;
            yourself]
    expression: 'self copy'.

For more inspiration, browse all invocation examples. \ No newline at end of file diff --git a/help/TDBHistoryExplorerHelp/structure.html b/help/TDBHistoryExplorerHelp/structure.html index 4570f45e..af9f996a 100644 --- a/help/TDBHistoryExplorerHelp/structure.html +++ b/help/TDBHistoryExplorerHelp/structure.html @@ -1 +1 @@ -Structure

A history explorer consts of three regions:



In the title bar, the explored object instance is revealed.

The control bar on top of the window contains a code pane for the current expression. You can enter any Smalltalk expression here whose changes over the recorded time you are interested in. When you accept it (Cmd + S), the expression is evaluated against all historic versions of the explored object instance (that is mapped to the receiver, self). You can also print it, inspect it, explore it, or debug it (experimental) the expression from here through the yellow button menu or the usual shortcuts.

Next to the code pane, you can find two buttons for managing the appearance of the history:

Spawn brings up the currently viewed history in another history explorer, where you can ask follow-up questions about the result.
The representation button in the corner lets you choose an alternative representation mode for the history. Currently supported representations are a list of values (default) and a details view that shows an expanded form of the current selection. The latter can be used for viewing longer printStrings, images, or formatted texts.

The contents pane below the control bar displays the history of the expression evaluated against the explored object instance.

On the right side, you can see all results of the expression for all recorded points in time if you have chosen the list representation in the control bar, or a single result if you are in details mode.

In the yellow-button menu of the list, you can inspect or explore a snapshot of the selection or debug the snapshot to observe how it was created. You can also choose debug here to open a new trace debugger on the selected context causing the selected change.

On the left side, you can find a reduced context tree that only contains all contexts that are responsible for any change of the explored expression. By default, this tree is displayed in a compact form. You can alternate the tree display from the yellow-button menu under compact labels. Fiddling around with these options is a great way to understand the tree display.

Note that each inner node in the tree can be collapsed or expanded and only shows a value from the slice on its own when it is collapsed. When you select an expanded node while in details mode, the details pane displays all values from all leaves within the selected node.



A note on fray outs: Even if the results of a query contains of multiple values, it is possible that the representation (e.g., the printString) of some values varies within the associated time range of the value. In this case, the history explorer will display a fray out error for the relevant items. In the details mode, all frayed out elements will be displayed on top of each other. See exampleDrawing for an example. \ No newline at end of file +Structure

A history explorer consts of three regions:



In the title bar, the explored object instance is revealed.

The control bar on top of the window contains a code pane for the current expression. You can enter any Smalltalk expression here whose changes over the recorded time you are interested in. When you accept it (Cmd + S), the expression is evaluated against all historic versions of the explored object instance (that is mapped to the receiver, self). You can also print it, inspect it, explore it, or debug it (experimental) the expression from here through the yellow button menu or the usual shortcuts.

Next to the code pane, you can find two buttons for managing the appearance of the history:

Spawn brings up the currently viewed history in another history explorer, where you can ask follow-up questions about the result.
The representation button in the corner lets you choose an alternative representation mode for the history. Currently supported representations are a list of values (default) and a details view that shows an expanded form of the current selection. The latter can be used for viewing longer printStrings, images, or formatted texts.

The contents pane below the control bar displays the history of the expression evaluated against the explored object instance.

On the right side, you can see all results of the expression for all recorded points in time if you have chosen the list representation in the control bar, or a single result if you are in details mode.

In the yellow-button menu of the list, you can inspect or explore a snapshot of the selection or debug the snapshot to observe how it was created. You can also choose debug here to open a new trace debugger on the selected context causing the selected change.

On the left side, you can find a reduced context tree that only contains all contexts that are responsible for any change of the explored expression. By default, this tree is displayed in a compact form. You can alternate the tree display from the yellow-button menu under compact labels. Fiddling around with these options is a great way to understand the tree display.

Note that each inner node in the tree can be collapsed or expanded and only shows a value from the slice on its own when it is collapsed. When you select an expanded node while in details mode, the details pane displays all values from all leaves within the selected node.



A note on fray outs: Even if the results of a query contains of multiple values, it is possible that the representation (e.g., the printString) of some values varies within the associated time range of the value. In this case, the history explorer will display a fray out error for the relevant items. In the details mode, all frayed out elements will be displayed on top of each other. See exampleDrawing for an example. \ No newline at end of file diff --git a/help/advancedNavigation.html b/help/advancedNavigation.html index 21cf9aae..c54c5d58 100644 --- a/help/advancedNavigation.html +++ b/help/advancedNavigation.html @@ -1 +1 @@ -Advanced Navigation

Besides the basic navigation language, the context tree also supports some advanced operators.

Jumps bring you directly to the sender context or the current callee context of the selection. With jump to present, you can also return to the tail of the program trace.



With the spawn option, you can open a second trace debugger on the selected subtree of the trace. Both debuggers will operate on the same instance of the program trace, allowing you to view different contexts at the same time. You can also drag any context from the tree into the world to spawn another trace debugger.



By marking a context as border context, you can reduce the complexity of the tree and hide all senders of the context. You can also define multiple border contexts. As you as you step out of a border contexts, the remainder of the tree will be visible again. You can also press space on a context to toggle whether it is a border context.

\ No newline at end of file +Advanced Navigation

Besides the basic navigation language, the context tree also supports some advanced operators.

Jumps bring you directly to the sender context or the current callee context of the selection. With jump to present, you can also return to the tail of the program trace.



With the spawn option, you can open a second trace debugger on the selected subtree of the trace. Both debuggers will operate on the same instance of the program trace, allowing you to view different contexts at the same time. You can also drag any context from the tree into the world to spawn another trace debugger.



By marking a context as border context, you can reduce the complexity of the tree and hide all senders of the context. You can also define multiple border contexts. As you as you step out of a border contexts, the remainder of the tree will be visible again. You can also press space on a context to toggle whether it is a border context.

\ No newline at end of file diff --git a/help/findingContexts.html b/help/findingContexts.html index 72a39ac3..30c54843 100644 --- a/help/findingContexts.html +++ b/help/findingContexts.html @@ -1 +1 @@ -Finding Contexts

Via the context tree menu, you can also search for contexts and quickly jump to them. To do so, select the context beneath which the search should start and choose "find context" or "find class" from the yellow button menu. You can also use cmd + f resp. cmd + g for this. From the dialog, select the desired pattern, i.e. the signature of the context or its method class, and accept.

With "find context again" (cmd + shift + f) resp. "find class again" (cmd + shift + g), you can jump to the next hit without specifying the search pattern again.

\ No newline at end of file +Finding Contexts

Via the context tree menu, you can also search for contexts and quickly jump to them. To do so, select the context beneath which the search should start and choose "find context" or "find class" from the yellow button menu. You can also use cmd + f resp. cmd + g for this. From the dialog, select the desired pattern, i.e. the signature of the context or its method class, and accept.

With "find context again" (cmd + shift + f) resp. "find class again" (cmd + shift + g), you can jump to the next hit without specifying the search pattern again.

\ No newline at end of file diff --git a/help/learnMore.html b/help/learnMore.html index aede8ae5..55b5ba1a 100644 --- a/help/learnMore.html +++ b/help/learnMore.html @@ -1 +1 @@ -Learn more

To learn more about the project and related academic publications, please visit our GitHub repository:

https://github.com/hpi-swa-lab/squeak-tracedebugger

In particular, there are many open issues for further ideas, bugs etc.:

https://github.com/hpi-swa-lab/squeak-tracedebugger/issues

To understand the implementation, please read the previous section of this chapter.

If you have any feedback or ideas, please let me know and drop an issue! You can also do this directly via the window menu of the TraceDebugger. By the way, it is also possible from there to update your installed version or perform some special process-related operations. Last not least, you can also check out some experimental preferences from there.

\ No newline at end of file +Learn more

To learn more about the project and related academic publications, please visit our GitHub repository:

https://github.com/hpi-swa-lab/squeak-tracedebugger

In particular, there are many open issues for further ideas, bugs etc.:

https://github.com/hpi-swa-lab/squeak-tracedebugger/issues

To understand the implementation, please read the previous section of this chapter.

If you have any feedback or ideas, please let me know and drop an issue! You can also do this directly via the window menu of the TraceDebugger. By the way, it is also possible from there to update your installed version or perform some special process-related operations. Last not least, you can also check out some experimental preferences from there.

\ No newline at end of file diff --git a/help/structure.html b/help/structure.html index 754ab23c..b17da921 100644 --- a/help/structure.html +++ b/help/structure.html @@ -1 +1 @@ -Structure of the TraceDebugger

The user interface of the TraceDebugger is largely inspired by Squeak's default debugger, so we will only describe the differences here:



In the title of the window, you can see the current time index. This is the point in time of the trace where the program has halted. As you step through the trace, this index will update.

On the top of the window, you can see the context tree. This tree displays all methods that are active or have been activated at an early point in the program trace. Red-click on any context to inspect its execution in the debugger. By hovering any context, you can also see a quick preview of its invocation. If you have enabled the "Balloon help in message lists" preference, you will also see a preview of the method source. By yellow-clicking on any context, you can also find many other commands which will be discussed in the following pages.



Below the context tree, there is the button bar which provides options to step through the program trace. If you have enabled the "Extra debugger buttons" preference, you will also find further buttons for browsing the code here.

The third view is the code pane which displays the source of the current activated method. The initial selection marks the expression that will executed next when you move forward the program.

The final view at the bottom is the inspectors which allow you to inspect the state of the receiver and the context interactively. Red-click any field to view its value, or yellow-click the field and choose inspect/explore to spawn a separate tool on the selected value. This tool displays a snapshot of the value that will not change when you continue the program.



You can also perform do-its and print-its in the inspector/explorer value panes. You can add a custom inspector field by typing and selecting an expression into the value pane, yellow-clicking it, and choosing "add as field":



As you continue stepping, the values in the inspector panes will be updated automatically. \ No newline at end of file +Structure of the TraceDebugger

The user interface of the TraceDebugger is largely inspired by Squeak's default debugger, so we will only describe the differences here:



In the title of the window, you can see the current time index. This is the point in time of the trace where the program has halted. As you step through the trace, this index will update.

On the top of the window, you can see the context tree. This tree displays all methods that are active or have been activated at an early point in the program trace. Red-click on any context to inspect its execution in the debugger. By hovering any context, you can also see a quick preview of its invocation. If you have enabled the "Balloon help in message lists" preference, you will also see a preview of the method source. By yellow-clicking on any context, you can also find many other commands which will be discussed in the following pages.



Below the context tree, there is the button bar which provides options to step through the program trace. If you have enabled the "Extra debugger buttons" preference, you will also find further buttons for browsing the code here.

The third view is the code pane which displays the source of the current activated method. The initial selection marks the expression that will executed next when you move forward the program.

The final view at the bottom is the inspectors which allow you to inspect the state of the receiver and the context interactively. Red-click any field to view its value, or yellow-click the field and choose inspect/explore to spawn a separate tool on the selected value. This tool displays a snapshot of the value that will not change when you continue the program.



You can also perform do-its and print-its in the inspector/explorer value panes. You can add a custom inspector field by typing and selecting an expression into the value pane, yellow-clicking it, and choosing "add as field":



As you continue stepping, the values in the inspector panes will be updated automatically. \ No newline at end of file