debugger

package
v0.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2024 License: MIT Imports: 26 Imported by: 0

Documentation

Overview

Package debugger provides a TUI debugger with multi-client support. Runnable command can be found in tools/cmd/am-dbg.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// bits which get saved into the go file
	Exportable
	// current transition, 1-based, mirrors the slider
	CursorTx int
	// current step, 1-based, mirrors the slider
	CursorStep int
	// contains filtered or unexported fields
}

type Debugger

type Debugger struct {
	am.ExceptionHandler

	Mach       *am.Machine
	Clients    map[string]*Client
	Opts       Opts
	LayoutRoot *cview.Panels
	Disposed   bool
	// selected client
	C   *Client
	App *cview.Application
	// printer for numbers
	P *message.Printer
	// contains filtered or unexported fields
}

func New added in v0.6.4

func New(ctx context.Context, opts Opts) (*Debugger, error)

New creates a new debugger instance and optionally import a data file.

func (*Debugger) AnyAny added in v0.6.4

func (d *Debugger) AnyAny(e *am.Event)

AnyAny is a global handler

func (*Debugger) BackEnter

func (d *Debugger) BackEnter(e *am.Event) bool

func (*Debugger) BackState

func (d *Debugger) BackState(e *am.Event)

func (*Debugger) BackStepEnter

func (d *Debugger) BackStepEnter(_ *am.Event) bool

func (*Debugger) BackStepState

func (d *Debugger) BackStepState(_ *am.Event)

func (*Debugger) ClientMsgEnter

func (d *Debugger) ClientMsgEnter(e *am.Event) bool

func (*Debugger) ClientMsgState

func (d *Debugger) ClientMsgState(e *am.Event)

func (*Debugger) ClientSelectedEnd

func (d *Debugger) ClientSelectedEnd(e *am.Event)

func (*Debugger) ClientSelectedState

func (d *Debugger) ClientSelectedState(e *am.Event)

func (*Debugger) ConnectEventEnter

func (d *Debugger) ConnectEventEnter(e *am.Event) bool

func (*Debugger) ConnectEventState

func (d *Debugger) ConnectEventState(e *am.Event)

func (*Debugger) ConnectedClients

func (d *Debugger) ConnectedClients() int

func (*Debugger) CurrentTx

func (d *Debugger) CurrentTx() *telemetry.DbgMsgTx

func (*Debugger) DisconnectEventEnter

func (d *Debugger) DisconnectEventEnter(e *am.Event) bool

func (*Debugger) DisconnectEventState

func (d *Debugger) DisconnectEventState(e *am.Event)

func (*Debugger) Dispose added in v0.6.4

func (d *Debugger) Dispose()

func (*Debugger) ExportDialogEnd

func (d *Debugger) ExportDialogEnd(e *am.Event)

func (*Debugger) ExportDialogState

func (d *Debugger) ExportDialogState(_ *am.Event)

func (*Debugger) FiltersFocusedEnd added in v0.6.0

func (d *Debugger) FiltersFocusedEnd(_ *am.Event)

func (*Debugger) FiltersFocusedState added in v0.6.0

func (d *Debugger) FiltersFocusedState(_ *am.Event)

func (*Debugger) FwdEnter

func (d *Debugger) FwdEnter(e *am.Event) bool

func (*Debugger) FwdState

func (d *Debugger) FwdState(e *am.Event)

func (*Debugger) FwdStepEnter

func (d *Debugger) FwdStepEnter(_ *am.Event) bool

func (*Debugger) FwdStepState

func (d *Debugger) FwdStepState(_ *am.Event)

func (*Debugger) HelpDialogEnd

func (d *Debugger) HelpDialogEnd(e *am.Event)

func (*Debugger) HelpDialogState

func (d *Debugger) HelpDialogState(_ *am.Event)

func (*Debugger) ImportData

func (d *Debugger) ImportData(filename string)

func (*Debugger) MatrixViewEnd

func (d *Debugger) MatrixViewEnd(_ *am.Event)

func (*Debugger) MatrixViewState

func (d *Debugger) MatrixViewState(_ *am.Event)

func (*Debugger) NextTx

func (d *Debugger) NextTx() *telemetry.DbgMsgTx

func (*Debugger) PausedState

func (d *Debugger) PausedState(_ *am.Event)

func (*Debugger) PlayingEnd

func (d *Debugger) PlayingEnd(_ *am.Event)

func (*Debugger) PlayingState

func (d *Debugger) PlayingState(_ *am.Event)

func (*Debugger) PrevTx

func (d *Debugger) PrevTx() *telemetry.DbgMsgTx

func (*Debugger) RedrawFull

func (d *Debugger) RedrawFull(immediate bool)

RedrawFull updates all components of the debugger UI, except the sidebar.

func (*Debugger) RemoveClientEnter

func (d *Debugger) RemoveClientEnter(e *am.Event) bool

func (*Debugger) RemoveClientState

func (d *Debugger) RemoveClientState(e *am.Event)

func (*Debugger) ScrollToStateTx

func (d *Debugger) ScrollToStateTx(state string, fwd bool)

ScrollToStateTx scrolls to the next transition involving the state being activated or deactivated. If fwd is true, it scrolls forward, otherwise backwards.

func (*Debugger) ScrollToTxEnter

func (d *Debugger) ScrollToTxEnter(e *am.Event) bool

func (*Debugger) ScrollToTxState

func (d *Debugger) ScrollToTxState(e *am.Event)

ScrollToTxState scrolls to a specific transition.

func (*Debugger) SelectingClientEnter

func (d *Debugger) SelectingClientEnter(e *am.Event) bool

func (*Debugger) SelectingClientState

func (d *Debugger) SelectingClientState(e *am.Event)

func (*Debugger) SetFilterLogLevel added in v0.6.4

func (d *Debugger) SetFilterLogLevel(lvl am.LogLevel)

func (*Debugger) ShowClientTx added in v0.6.4

func (d *Debugger) ShowClientTx(clientID string, txIndex int)

ShowClientTx switches to the given client and scrolls to the given tx number.

func (*Debugger) Start added in v0.6.4

func (d *Debugger) Start(clientID string, txNum int, uiView string)

func (*Debugger) StartEnd

func (d *Debugger) StartEnd(_ *am.Event)

func (*Debugger) StartState

func (d *Debugger) StartState(e *am.Event)

func (*Debugger) StateNameSelectedEnd

func (d *Debugger) StateNameSelectedEnd(_ *am.Event)

func (*Debugger) StateNameSelectedState

func (d *Debugger) StateNameSelectedState(e *am.Event)

func (*Debugger) StateNameSelectedStateNameSelected

func (d *Debugger) StateNameSelectedStateNameSelected(e *am.Event)

StateNameSelectedStateNameSelected handles cursor moving from a state name to another state name case.

func (*Debugger) TailModeState

func (d *Debugger) TailModeState(_ *am.Event)

func (*Debugger) TimelineStepsFocusedEnd

func (d *Debugger) TimelineStepsFocusedEnd(_ *am.Event)

func (*Debugger) TimelineStepsFocusedState

func (d *Debugger) TimelineStepsFocusedState(_ *am.Event)

func (*Debugger) ToggleFilterState added in v0.6.0

func (d *Debugger) ToggleFilterState(_ *am.Event)

func (*Debugger) TreeMatrixViewEnd

func (d *Debugger) TreeMatrixViewEnd(_ *am.Event)

func (*Debugger) TreeMatrixViewState

func (d *Debugger) TreeMatrixViewState(_ *am.Event)

func (*Debugger) UserBackState

func (d *Debugger) UserBackState(_ *am.Event)

func (*Debugger) UserBackStepState

func (d *Debugger) UserBackStepState(_ *am.Event)

func (*Debugger) UserFwdState

func (d *Debugger) UserFwdState(_ *am.Event)

func (*Debugger) UserFwdStepState

func (d *Debugger) UserFwdStepState(_ *am.Event)

type Exportable

type Exportable struct {
	MsgStruct *telemetry.DbgMsgStruct
	MsgTxs    []*telemetry.DbgMsgTx
}

type Focusable

type Focusable struct {
	cview.Primitive
	*cview.Box
}

type MsgTxParsed

type MsgTxParsed struct {
	StatesAdded   am.S
	StatesRemoved am.S
	StatesTouched am.S
	Time          uint64
	Idx           int
}

type Opts added in v0.6.4

type Opts struct {
	SelectConnected bool
	CleanOnConnect  bool
	EnableMouse     bool
	// Address to listen on
	ServerAddr string
	// Log level of the debugger's machine
	DBGLogLevel am.LogLevel
	DBGLogger   *log.Logger
	// Filters for the transitions and logging
	Filters *OptsFilters
	// File path to import (brotli)
	ImportData string
	// Screen overload for tests & ssh
	Screen tcell.Screen
	// Debugger's ID
	ID string
	// version of this instance
	Version string
}

type OptsFilters added in v0.6.4

type OptsFilters struct {
	SkipCanceledTx bool
	SkipAutoTx     bool
	SkipEmptyTx    bool
	LogLevel       am.LogLevel
}

type RelCol

type RelCol struct {
	// contains filtered or unexported fields
}

Directories

Path Synopsis
TODO move to debugger/server
TODO move to debugger/server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL