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.

Replay functionality

Debug the recording

Once you have the recording file capturing a defect, you can view the recording to analyze execution history using UndoDB (LiveRecorder’s reversible debugger functionality). Discover what your software really did and why.

Key features

LiveRecorder features

Undo LiveRecorder makes it possible to find and fix more defects faster, especially non-deterministic bugs, which rise in frequency as systems become more complex.

LiveRecorder records non-deterministic data and recomputes deterministic data on-the-fly. Record, replay, and debug defects just as they happened during the original run – without needing to know in advance what you will want to look at.

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.

What's new

NEW release: LiveRecorder 5.0

LiveRecorder 5.0 is a breakthrough in software flight recorder technology. It is the first solution that solves the costly problem of reproducing and debugging non-deterministic defects in multi-process systems. Enhancements include:

Multi-Process Correlation for Shared Memory

Shared memory corruption in a multi-process system can seem impossible to debug. This feature simplifies debugging by recording the exact order in which processes altered shared memory variables. Zero-in on specific variables and skip backwards to the last line of code - in any process - to have altered the variable.

Microservices support

LiveRecorder 5.0 can record and replay the execution of individual Kubernetes and Docker containers to help resolve defects faster in microservices environments.

Thread Fuzzing

Non-determinism makes race conditions and other multi-threading issues hard to predict. When integrated into your test pipeline, LiveRecorder 5.0 thread fuzzing exposes potential defects by randomizing thread execution to help reveal more race conditions, crashes, and other multi-threading defects.

NEW! LiveRecorder for Go

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