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.txtfor UDB changeskeyserver/changelog.txtfor Undo Keyserver changesundolr/changelog.txtfor 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 debuginvokesudbto debug a C or C++ program or LiveRecorder recording.- undo record invokes
live-recordto record the execution of a program and save a LiveRecorder recording (for LiveRecorder customers only). undo loginvokespostfailurelogto generate a log from a program using a LiveRecorder recording and a probe file.undo encrypt-symbolsinvokessymbol-encto encrypt an ELF symbol file.undo automateinvokesudb-automateto automate UDB using its API.undo sysinfoinvokesundo-sysinfoto 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 DURATIONcauseslive-recordto run the program repeatedly until eitherDURATIONhas passed or the circumstances specified by the--save-on optionhave occurred and a recording has been saved, whichever happens first. - The new command-line option
--listcauseslive-recordto 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-fuzzingoption 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!