Glossary¶
- 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, which serves as a coarse-grained measure of how much code has run so far. Represented by an integer starting at
1
and increasing as execution progresses. 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.
- Bundled GDB¶
A custom build of GDB packaged as part of a release of UDB.
- data breakpoint¶
Another term for watchpoint.
- 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.
- DWARF¶
A standardised debug data format. 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 behaviour 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.
- inferior¶
- inferior process¶
A program being debugged.
- inferior call¶
A call from UDB to code in the program being debugged. See Inferior calls.
- Keyserver¶
The Keyserver is Undo’s license server. This component needs to be installed if UDB is to be used with a floating license. Machines on which UDB is installed need to have TCP/IP access to the machine where the Keyserver is installed.
- LiveRecorder¶
An Undo product that can be embedded (as a library) into an application at build time and provides API calls to start recording the application to save a recording that can be loaded later.
- LiveRecorder recording¶
A file containing the execution history of a program in a form that can be replayed by UDB. See Loading and saving recordings.
- pc¶
- program counter¶
A register whose value is the address of the next instruction to be executed (or a nearby address; the exact details depend on the processor architecture). See Time notation.
- pretty-printer¶
A Python function registered with UDB that formats values from the program being debugged. The
info pretty-printer
command 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 need to switch to replay mode.
- replay mode¶
In this mode, the program is at a time earlier than the latest time in its execution history, or UDB is replaying a LiveRecorder recording.
- reverse debugger¶
- reverse debugging¶
An alternative name for time travel debugger / debugging.
- reverse-execution commands¶
UDB commands that execute the program as if in reverse, stopping at breakpoints and signals. See Executing the program in reverse.
- 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.
- 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.
- 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 <breakpoint>
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 a LiveRecorder recording. See UDB session commands.
- udbserver¶
The UDB backend program. See Remote debugging.
- 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.
- 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 watchpoint is a type of breakpoint that stops the program when the value of an expression changes. See Watchpoints.