Glossary¶
- AI¶
The generative-AI capabilities of the Undo Suite. See Undo AI.
- AI agent¶
A program that drives an LLM to accomplish a task, using external tools as needed. Undo can be used from any AI agent that speaks the Model Context Protocol, such as Claude Code, Codex, Cursor, Gemini CLI, Kiro or Roo Code. See Using Undo from your AI agent.
- attach¶
When a debugger is attached to a process, it can control the execution of that process. UDB and LiveRecorder must be attached to processes in order for recording and forward and reverse navigation to be possible. See the attach command in UDB, the
--pidoption to UDB, and the--pidoption to the LiveRecorder tool.- backend¶
The debugger component that runs on same machine as the program being debugged, and receives commands from the frontend. In UDB, the backend is udbserver. See Remote debugging.
- BB¶
A unit of execution history of a program. Broadly analogous to a basic block. See Time notation.
- bbcount¶
A count of BBs executed by a program: a rough measure of how much code has run so far. See Time notation.
- bookmark¶
A named time in execution history. See Bookmarks.
- breakpoint¶
A location at which the program will be stopped and control returned to the debugger. See Breakpoints and watchpoints.
- bundled GDB¶
- Claude Code¶
An AI agent developed by Anthropic that can use external tools via the Model Context Protocol. See Claude Code.
- Codex¶
An AI agent developed by OpenAI that can use external tools via the Model Context Protocol. See Codex.
- Cursor¶
An IDE and command-line AI agent developed by Cursor that can use external tools via the Model Context Protocol. See Cursor.
- data breakpoint¶
Another term for watchpoint.
- data race¶
A type of software defect in which multiple threads or processes are racing to update a data structure, and the correctness of the behavior depends on which one wins the race.
- deferred-recording mode¶
In this mode, the program is neither being recorded nor replayed, and execution can only proceed forwards. To switch to record mode, use the urecord command. See Deferred recording.
- detach¶
When a debugger detaches from a process to which it has previously attached, it relinquishes its ability to control the execution of that process. UDB and LiveRecorder detach from the process when they exit, or when the detach command is used in UDB. After detaching, the process continues executing in its normal manner.
- DWARF¶
A standard format for files containing debugging data. See DWARF.
- event log¶
A record of non-deterministic events in the execution history of a program. See Event log.
- execution history¶
A record of the behavior of a program in a form that can be replayed by UDB.
- frontend¶
The debugger component that runs on the user’s machine, and issues commands to the backend. In UDB, the frontend is udb.
- GDB¶
The GNU Project debugger, which is bundled with UDB.
- Gemini CLI¶
A command-line AI agent developed by Google that can use external tools via the Model Context Protocol. See Gemini CLI.
- GitHub Copilot in Visual Studio Code¶
The Visual Studio Code extension provided by Microsoft that acts as an AI agent and can use external tools via the Model Context Protocol. See GitHub Copilot.
- inferior¶
- inferior process¶
A program being debugged.
- inferior call¶
A call from UDB to code in the program being debugged. See Inferior calls.
- Keyserver¶
Undo’s license server. This component must be installed in order to use UDB with floating licenses. The machine running UDB must have network access to the machine running the Keyserver.
- Kiro¶
An IDE and command-line AI agent developed by AWS that can use external tools via the Model Context Protocol. See Kiro.
- LiveRecorder¶
An Undo product including live-record, a command-line tool for recording the execution history of a program and saving it as an Undo recording, and the LiveRecorder API that allows any program to record and save its own execution history.
- LiveRecorder for Development¶
A LiveRecorder use case in which applications are recorded during internal development or testing.
- LiveRecorder for Production¶
A LiveRecorder use case in which applications are recorded in the field, for example, at customer sites.
- LiveRecorder recording¶
An old name for Undo recording.
- MCP¶
- MCP server¶
- Model Context Protocol¶
An open standard for connecting AI agents to external tools and data sources. See Model Context Protocol. Undo ships an MCP server, started by the undo mcp command; see Using Undo from your AI agent.
- pc¶
- program counter¶
A register whose value is the address of an instruction to be executed. When the program is stopped in the debugger, its value is typically the address of the next instruction to be executed. See Time notation.
- point recording¶
An Undo recording that contains the state of the program at a single point in time.
- Post Failure Logging¶
An Undo tool that retrospectively logs information about the execution of a program using an Undo recording of the program together with a probe file describing the information to log and the conditions under which to log it. See Post Failure Logging.
- pretty-printer¶
A Python function registered with UDB that formats values from the program being debugged. The
info pretty-printercommand lists the registered pretty-printers.- record mode¶
In this mode, the program’s execution history is being recorded so that it can be saved or replayed. As long as execution proceeds forwards, the program remains in record mode, but reverse-execution commands and time-travel commands switch to replay mode.
- recording portability¶
The ability for Undo recordings to be loaded on a Linux system other than the one that created it. For more information, see Recording portability.
- replay mode¶
In this mode, the program is at a time earlier than the latest time in its execution history, or UDB is replaying an Undo recording.
- replay service¶
A component that allows the seamless replay of Undo recordings regardless of their hardware requirements (architecture, CPU features, memory requirements, etc.). See replay service for details.
- reverse debugger¶
- reverse debugging¶
Alternative names for time travel debugger and time travel debugging respectively.
- reverse-execution commands¶
UDB commands that execute the program as if in reverse, stopping at breakpoints and signals. See Executing the program in reverse.
- Roo Code¶
A Visual Studio Code extension that adds an AI agent to the editor, capable of using external tools via the Model Context Protocol. See Roo Code.
- shmem¶
Memory that can be simultaneously accessed by multiple programs. See shared memory.
- sig¶
- signal¶
A form of inter-process communication that interrupts the execution of the recipient. See signal.
- snapshot¶
A representation of the state of a program at a particular time in its execution history. See Snapshots.
- symbol file¶
A file containing information about the symbols in an executable file that may be useful for debugging that executable, including the symbol names, and the source files and line numbers where they originated. Symbol files may be created alongside executable files at compilation time, or extracted from executables containing symbols. Symbol files may also contain additional DWARF-formatted debugging information.
- syscall¶
- system call¶
A request from a user-space program to the operating system. See system call.
- temporary breakpoint¶
A breakpoint that is automatically deleted when it is hit. Create a temporary breakpoint using the tbreak command.
- Thread Fuzzing¶
A configuration of the Undo Engine in which it varies the times at which it switches between program threads in record mode, to attempt to reproduce data races and other concurrency bugs. See Thread Fuzzing.
- time¶
A point in the execution history of a program, represented by a bbcount and a program counter value. See Time notation. Compare with wall-clock time.
- time-travel commands¶
UDB commands that jump to a time in the program’s execution history. Unlike reverse-execution commands, these commands do not stop at breakpoints and signals. See Time-travel commands.
- udb¶
- UDB¶
Undo’s interactive time travel debugger.
- UDB session¶
A record of user data, including bookmarks, associated with an Undo recording. See UDB session commands.
- udbserver¶
The UDB backend program. See Remote debugging.
- Undo AI¶
- UndoDB¶
A former name for UDB.
- UndoDB Server¶
A former name for udbserver.
- Undo Engine¶
The technology implementing record, replay, and time travel debugging.
- UndoLR¶
A former name for LiveRecorder.
- Undo OEM Edition¶
An Undo product tier which contains the tools from Undo Team Edition and which is additionally licensed for recording programs in the field. See Undo Pricing and Licensing.
- Undo recording¶
A file containing the execution history of a program in a form that can be replayed by UDB. See Loading and saving recordings.
- Undo Suite¶
The full suite of Undo tools, including UDB, LiveRecorder, Post Failure Logging and other tools.
The availablility of some of these tools may depend on the product tier covered by your Undo license.
- Undo Team Edition¶
An Undo product tier which combines the capabilities of UDB and LiveRecorder. See Undo Pricing and Licensing.
- volatile mode¶
In this mode, the program is executing instructions but they are neither being recorded nor replayed, and any state changes will be discarded when the program returns to replay mode. See Inferior calls.
- wall-clock time¶
A description of a calendar date and clock time. See Log Jump. Compare with time.
- watchpoint¶
A type of breakpoint that stops the program when the value of an expression changes. See Watchpoints.