Live data from Hacker News

UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

undo.io

41–50 of 51 posts

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#44

gdb should already have a similar feature?

GDB does: https://sourceware.org/gdb/current/onlinedocs/gdb.html/Proce... But it's limited. It's really cool that it's integrated by default but it doesn't scale to big applications / workloads. RR and Undo both use GDB as a user interface, though, so any skills you have there will carry over.

A lot people don't know and don't use GDBs reverse debugging. It is an awesome and hidden feature, which more developers should know :)

All these Oh wait. I missed it...debugging sessions. and these What exactly changed over there? are answerable.

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#45
post #26
post #2

Let me save you a click: Pricing & Licensing A UDB floating license costs $7,900 per year.

If you’re going to spend money, then you would be better off using rr and paying for Pernosco. Pernosco is amazing.

Thanks for the Pernosco tip. It really looks amazing and you can try it for free as github user

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#46

if you could get this working on embedded arm cpus, I think you'd be surprised how many customers there would be.

What's limiting us is that Undo does need a Linux kernel - so traditional embedded programming wouldn't be a fit. Embedded Linux could work and we do support ARM64.

I've thought I bit about how you might support time travel on bare metal embedded - but actually there are hardware-assisted solutions (Lauterbach's Trace32 was one we came across) there sometimes.

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#47
post #45
post #26

Earlier quoted context omitted.

If you’re going to spend money, then you would be better off using rr and paying for Pernosco. Pernosco is amazing.

Thanks for the Pernosco tip. It really looks amazing and you can try it for free as github user

You’re welcome.

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#48

if you could get this working on embedded arm cpus, I think you'd be surprised how many customers there would be.

Time travel debugging on embedded ARM has been available for over 20 years via trace probes [1].

The category namer of time-travel debugging, TimeMachine, (hence time-travel debugging in contrast to other attempted names such as reversible, bidirectional, record-replay, etc.) was available in 2003 and supports/supported the ARM7 [2]. Note, that is not ARMv7 architecture, that is the ARM7 chip [3] in use from 1993-2001.

From what I know, the ARM7 was one of the first ARM designs implementing the Embedded Trace Macrocell (ETM) which could output the instruction and data trace data used to support trace probe-based time travel debugging.

[1] https://jakob.engbloms.se/archives/1564

[2] https://www.ghs.com/products/probe.html

[3] https://en.m.wikipedia.org/wiki/ARM7

Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging

#50

Free Windows equivalent: WinDbg Time Travel Debugging ( https://learn.microsoft.com/en-gb/windows-hardware/drivers/d... ).

WinDbg's time travel debug is really cool and more people should know about it. I'm always a little sad that it's not (so far!) officially integrated in something like VS Code. Before it was released publicly I believe Microsoft had been using it internally to share recordings on bug reports against massive pieces of software like Office. So it's a serious piece of tech.

I used it (iDNA) on the Windows team starting around 2006 or so and we were able to resolve bugs in minutes that had been open for years. It was absolute magic.
Post reply on HN