Resources
[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 changeskeyserver/changelog.txt
for Undo Keyserver changesundolr/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
invokesudb
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
invokespostfailurelog
to generate a log from a program using a LiveRecorder recording and a probe file.undo encrypt-symbols
invokessymbol-enc
to encrypt an ELF symbol file.undo automate
invokesudb-automate
to automate UDB using its API.undo sysinfo
invokesundo-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
causeslive-record
to run the program repeatedly until eitherDURATION
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
causeslive-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.
*Mozzarella
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!