LiveRecorder for C/ C++ & Go

Record and replay the execution of your software

Debugging intermittent failures - whether in development, test or in production - takes time. It slows down development projects and frustrates customers...

What if you could record your program's execution as it fails and replay the recording offline any time anywhere?

Capture software failures ‘in the act’
Replay the recording and get instant visibility into what your program did and why
Debug the recording instead of the live program

Technology Hero Illustration
Record functionality

Record programming errors

LiveRecorder captures all non-deterministic data (down to instruction level) and recreates your application’s entire memory and the register state - on demand and with minimal overhead.

The recording represents a reproducible test case.

LiveRecorder's core recording technology is language independent and compatible with most mainstream Linux distributions.

Failure reproducibility
Get to the root cause of software defects quickly and with absolute certainty
Faster Time-To-Resolution
Solve challenging software defects 10x faster than with traditional debugging methods
6 months
ROI in 6 - 9 months
Undo's technology found to pay for itself in the above time frame when deployed on mission critical systems

Replay functionality

Debug the recording

Once you have the recording file capturing a defect, you can view the recording to analyze execution history using LiveRecorder's replay engine (reversible debugger functionality powered by UDB - formerly UndoDB). Discover what your software really did and why.

Key features

LiveRecorder features

LiveRecorder provides a powerful Record and Replay software failures system that enables the acceleration of software defect detection and resolution.

Faster than you think
Without specialized technology, recording large systems would be slow and unusable. With LiveRecorder, expect to see 2x - 5x slowdown on most programs. You only need to record the failed processes (not all of them) - and you only need to record once to get all the data you need to analyze later.
Reversible Debugger
Play recordings forwards and backwards to analyze internal state. Breakpoints, bookmarks, notifications make it easy.
Multi-Process Correlation
Reveals the order in which processes and threads alter data structures in shared memory.
Thread Fuzzing
Randomizes thread execution to reveal race conditions and other multi-threading defects.
Integration & Control
APIs, CLI, front-end & container platform integrations help you automate and enrich QA & CI processes.
Compiler- and library-agnostic
We don’t require the application to be recompiled or linked against particular libraries.
Log Jump
A powerful method for developers to jump from a log line of interest to the corresponding point in time in a LiveRecorder recording.
Post Failure Logging
Feature that generates log files after a software failure occurs. The log files can be debugged, remotely, without the recording file ever leaving the end-customer’s secure environment or IP/ IIP sensitive data being exposed.
LiveRecorder Data Sheet
Find out more about LiveRecorder's product details.

LiveRecorder Product Spec

What's New

Latest release: LiveRecorder 6.1

Our latest release LiveRecorder 6.1 - codenamed Monterey Jack (Sept 2020) - brings together some product updates & consolidations, including:

UndoDB is now called UDB
UDB is available to all as a fully featured 30-day free trial evaluation
Full feature availability to all customers of Log Jump & Post Failure Logging for customers using LiveRecorder in production
An upgraded version of GDB that is packaged with UDB
An upgraded version of Python that is packaged with UDB

Find out more about this latest release.

How LiveRecorder works

Record and replay program execution and quickly diagnose software failures in test or in production

Competitor comparison

LiveRecorder vs traditional debugging

LiveRecorder is the only solution that gives you data-driven insight into what your software really did before it failed. By recording a failed process down to instruction level, you get a 100% reproducible test case. LiveRecorder can also capture intermittent, non-deterministic failures which cannot be tracked down in any other way.

Logging, dumps, printf
Static & dynamic analysis
Reproduce every failure with 100% certainty (including intermittent & non-deterministic)
Collect failure data from customers with minimal disruption
Analyze every possible cause of failure
Remove false positives causes

Trusted by leaders

Cadence Logo
IBM Logo
SAP Logo
Commwalut Logo

Speed up time to resolution of software defects by 10x

Request a demo