The Tracing Messages Browser
Last updated at 5:20 pm UTC on 7 September 2022
A useful browser for tracing message flow statically. I look like a standard methods browser with methods in the upper pane, code in the lower. As you browse senders and implementors, the upper pane is built into a "stack" rather than opening new method browsers, reducing window profileration. Implementors are indented below the currently selected method, senders are outdented above. You end up with a flow of the execution of methods across multiple classes all in one place.
The "stack" is quickly customized by easy removal of unwanted methods. First, the upper pane supports multiple selection, and can handle rapid, sweeping gestures of the mouse without dropping selections (shift+clicking is also supported for selecting a range). Once methods are selected, you can quickly remove them (just from the browser, not from the system) with Command+d.
If you got a new set of senders and implementors and only want to keep a few relevant ones, you can select those, then use Command+I to select the inverted set of messages that have the same indentation level, and then remove them with Command+d.
Starting from FileDirectory>localNamefor: this TracingBrowser shows the senders of the message toward the top of the list, the implementors in the middle, and implementros of one of the messages sent in #locaNameFor: at the bottom.
Installation for old versions without the tracing browser already included
The latest Squeak versions already have the tracing browser installed. Just enable the preference "Trace messages". You can also enable "Trace messages browser" in the preference wizard.
The instructions below are kept for ancient versions of Squeak.
To install, add the following HTTP repository to Monticello:
Then Open that repository and install Tracing Messages Browser.