To try it out, first create an example trace (from the top-level mu/
directory):
./mu --trace nqueens.mu
This command will save a trace of its execution in a file called last_run
.
The trace consists of a series of lines, each starting with an integer depth
and a single-word 'label', followed by a colon and whitespace.
Now browse this trace:
./browse_trace/browse_trace last_run
You should now find yourself in a UI showing a subsequence of lines from the trace, each line starting with a numeric depth, and ending with a parenthetical count of trace lines hidden after it with greater depths.
For example, this line:
2 app: line1 (30)
indicates that it was logged with depth 2, and that 30 following lines have been hidden at a depth greater than 2.
(As an experiment, hidden counts of 1000 or more are highlighted in red.)
The UI provides the following hotkeys:
-
q
orctrl-c
: Quit. -
Enter
: 'Zoom into' this line. Expand lines hidden after it that were at the next higher level. -
Backspace
: 'Zoom out' on a line after zooming in, collapsing lines below expanded by some series ofEnter
commands. -
j
ordown-arrow
: Move cursor down one line. -
k
orup-arrow
: Move cursor up one line. -
J
orctrl-f
orpage-down
: Scroll cursor down one page. -
K
orctrl-b
orpage-up
: Scroll cursor up one page. -
h
orleft-arrow
: Scroll cursor left one character. -
l
orright-arrow
: Scroll cursor right one character. -
H
: Scroll cursor left one screen-width. -
L
: Scroll cursor right one screen-width. -
g
orhome
: Move cursor to start of trace. -
G
orend
: Move cursor to end of trace. -
t
: Move cursor to top line on screen. -
c
: Move cursor to center line on screen. -
b
: Move cursor to bottom line on screen. -
T
: Scroll line at cursor to top of screen. -
/
: Search forward for a pattern. -
?
: Search backward for a pattern. -
n
: Repeat the previous/
or?
. -
N
: Repeat the previous/
or?
in the opposite direction.
After hitting /
, the mini-editor on the bottom-most line supports the
following hotkeys:
- ascii characters: add the key to the pattern.
Enter
: search for the pattern.Esc
orctrl-c
: cancel the current search, setting the screen back to its state before the search.left-arrow
: move cursor left.right-arrow
: move cursor right.ctrl-a
orhome
: move cursor to start of search pattern.ctrl-e
orend
: move cursor to end of search pattern.ctrl-u
: clear search pattern before cursorctrl-k
: clear search pattern at and after cursor
- Simple regular expression search:
.
and*
. - Expand into lower depths as necessary when searching.
- Zoom out everything.
- Zoom out lines around the cursor to the highest (or specified) depth.
Maybe a number followed by
]
?