December 2025 | Solving a Shared Memory Issues in a Multi-Process C/C++ Program

December 2025 | Solving a Shared Memory Issues in a Multi-Process C/C++ Program

Debugging multi-process C/C++ applications is hard — especially when tackling race conditions or tricky timing issues involving shared memory. 

In our new Undo 9.1 release, a new on-fork option allows you to configure what happens when recording the execution of processes that fork.

In this video below, Undo's Staff Engineer Isa Smith walks you through how to use this new functionality to easily debug a multi-process program.

Watch video

Article content

We let AI debug a GDB crash (experiment results)

Debugging is supposed to be one of AI’s emerging superpowers. To test this claim, Undo's Principal Engineer Marco Barisione gave two leading AI coding agents a non-trivial challenge: troubleshooting a use-after-free error that causes the GNU Debugger (GDB) to crash.

The contrast was striking:

✔️ When equipped with a deterministic recording of the program's execution, both AI agents diagnosed the issue perfectly on the first attempt.

❌ Without this recording – even when allowed to add logging, recompile, and re-run the program – they failed every time.

Same models, same codebase, same commands. The only difference was access to a replayable recording of what the the program did – made possible by the execution trace produced by time travel debugging technology.

Check out results

Article content

DVCon paper: time travel debugging for high-level synthesis (HLS)

Building and maintaining HLS models is different from maintaining standard C/C++ applications. There are a ton of verification tools and sanitizers that help with verifying coverage, memory use, functionality. But what about tracing what went wrong?

In this video, Chirag Goyal presents the latest DVCon paper on how time travel debugging and agentic debugging are used for efficient debugging of SystemC programs.

Watch paper presentation

To view or add a comment, sign in

More articles by Undo

Explore content categories