[New Release] for UDB and LiveRecorder 7.2 for C/C++

[New Release] for UDB and LiveRecorder 7.2 for C/C++

Our engineering team just released a major new version of UDB and LiveRecorder 7.1 for C/C++ with the cheesy codename of Mozzarella*.

This release of UDB and LiveRecorder includes a number of headline product improvements and changes to system requirements.

Further product changes are described in the changelog files included in your Undo release directory:

  • changelog.txt for UDB changes
  • keyserver/changelog.txt for Undo Keyserver changes
  • undolr/changelog.txt for LiveRecorder changes


Headline improvements in UDB (relevant to all customers)

New undo command for invoking our suite of tools

The new program undo provides a common entry point for Undo’s command-line programs. Running undo prints a list of available tools and an explanation of their purpose, helping new users to quickly get up to speed with the Undo tool suite.

The following commands are available:

  • undo debug invokes udb to debug a C or C++ program or LiveRecorder recording.
  • undo record invokes live-record to record the execution of a program and save a LiveRecorder recording (for LiveRecorder customers only).
  • undo log invokes postfailurelog to generate a log from a program using a LiveRecorder recording and a probe file.
  • undo encrypt-symbols invokes symbol-enc to encrypt an ELF symbol file.
  • undo automate invokes udb-automate to automate UDB using its API.
  • undo sysinfo invokes undo-sysinfo to dump system information to be included in a support request.

Each of these tools can also be invoked using its previous name. Watch the video below to see this in action.


UDB session export / import

When debugging a recording, UDB releases since 6.3 have stored information between sessions, such as bookmarks and active breakpoints. In the 7.2 release, it is now possible for the UDB session state to be transferred as a file from one user to another, making it easier to hand off debugging tasks between developers.

The usession export command generates a JSON file containing session state information, which can be imported by another user via usession import. State files contain a UID to associate them with the corresponding recording and prevent mixups.


Headline improvements in LiveRecorder

Smaller recording files with faster load times

In the 7.2 release, nondeterministic events are now stored more efficiently in the event log than they were in previous releases. This means that the portion of a recording file allocated to the event log will typically be 30% smaller and 50% faster to load, depending on the characteristics of the recorded program.

This improvement will be more significant when saving and loading recordings where the event log is relatively large when compared with the size of any mapped memory regions, debug symbol files or other data included in the recording file.

New capabilities for the live-record tool

The live-record tool has gained three new capabilities:

  • The new command-line option --retry-for DURATION causes live-record to run the program repeatedly until either DURATION has passed or the circumstances specified by the --save-on option have occurred and a recording has been saved, whichever happens first.
  • The new command-line option --list causes live-record to print a list of LiveRecorder sessions that are running on the current system and their associated process IDs, allowing sessions to be terminated or discarded more easily.
  • The existing --thread-fuzzing option now adds support for Thread Fuzzing on ARM64 platforms for parity with x86.


Changes in system requirements

The 7.2 release introduces support for the Intel Golden Cove microarchitecture, meaning that 4th Generation Intel Xeon Scalable Processors (codenamed Sapphire Rapids) are now supported.

Note that some instruction set features enabled in the Golden Cove microarchitecture, such as Intel Advanced Matrix Extensions (AMX) remain unsupported in this release.

For a list of the system requirements for a given release, see the documentation at docs/userguide/html/SystemRequirements.html in the release directory. The system requirements for the latest Undo release are always provided in full at https://docs.undo.io/SystemRequirements.html.



We ❤️ cheese, so we name all of our releases after some of them. This one needs no explaining – we all know about the glorious mozzarella cheese you find on the best Italian pizzas. But did you know that it was originally only made with water buffalo milk from buffalos raised in the southern Italy? You can read 10 interesting facts about mozzarella cheese on edairynews!

Stay informed. Get the latest in your inbox.