Live data from Hacker News

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

undo.io

31–40 of 51 posts

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

#32
post #13

Earlier quoted context omitted.

If you have a US employer who is unwilling to spend 8 k$ on software engineering productivity then they are pennywise, pound foolish. It literally costs 10x that for a single junior engineer. And, as I pointed out, the net productivity improvement you need to see to justify that expense is miniscule. If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out change…

Not everyone is Google. Some people work for themselves, or have very small teams, or live in a developing country, and don't have lots of spare cash laying around. Please try to understand that the world is not as simple and black and white as you'd like.

Undo founder here. We've been at this for getting on 20 years now. Originally it cost $295 for a perpetual license. Eventually we understood that the majority of developers (actually employers of developers) will pay $0. But some are happy to pay for tooling, as long as they're confident they'll get a many multiples return-on-investment. Hence our pricing. Happily, enough do that we can run a modest but profitable business (40+ people). Customer churn is practically zero.

Why do people pay for Undo when they can get rr -- which is also really good -- for free? Those whose code or environment is big enough and complex enough that rr doesn't work for them, and they understand how powerful time travel debugging is. If rr works for you, you should use it. This includes most independent developers.

If rr can work for you and you're still not using any kind of time travel debugging, you have effective tied one hand behind your own back! If you're independent (incl student or academic) and rr doesn't work for you, get in touch -- we give free licenses for academic and certain other use cases.

There is a wider thing here about software companies paying for dev tooling. So many companies over the years who made really cool things who couldn't make their business work.

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

#33
post #5
post #2

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

rr is awesome and is free and open and all that. How much better could this possibly be?

Undo co-founder here. rr is indeed awesome. If it works for your use-case, you should use it!

Undo is mostly used by companies whose world is complex enough that rr doesn't work for them, and they understand how powerful time travel debugging is.

There has now been a LOT of engineering invested by a lot of very smart people into Undo, so it does also have a lot of polish and nice features.

But honestly, if rr is working for you, that's great. I'm just glad you're not doing printf debugging the whole time :)

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

#34
post #3

What's the difference with RR?

[flagged]

Undo founder here. I just got a slack from one of our marketing team who is thrilled you appreciate their work. :-)

Our customers are top tier tech companies and our users are among the smartest engineers on the planet. I'm proud of our marketing, but no-one is going to spend a bunch of money with us just because of that.

So there must be something else in it I guess ;-)

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

#35
post #3

What's the difference with RR?

Undo (where I'm CTO) has existed for longer than RR and its real benefit is that it scales to use cases where RR (for one reason or another) isn't a fit.

Technically:

* Doesn't need hardware performance counters - runs on more CPUs and on cloud systems (where performance counters are often blocked).

* Can attach and detach at any time - means you get to record just a subset of program execution that's interesting.

* You can our ship recording tech with your application and control it by API, so you can grab crash recordings on customer systems.

* Supports programs that share memory with non-recorded processes.

* Supports direct device access (e.g. DPDK).

* Accelerated debugging features - searching with recordings using parallel processing, accelerated conditional breakpoints a few thousand times faster than native GDB.

* We provide a stable, patched fork of GDB that we're occasionally told is more stable than the default.

For many people's use cases none of these really matter - they should use RR if they're not already.

But if you need any of these things then Undo can give you time travel debugging. In practice, it's usually big software organisations that we deal with because they have development pain and the extreme requirements we can match.

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

#36

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.

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

#37

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.

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

#38

Earlier quoted context omitted.

Not everyone is Google. Some people work for themselves, or have very small teams, or live in a developing country, and don't have lots of spare cash laying around. Please try to understand that the world is not as simple and black and white as you'd like.

Undo founder here. We've been at this for getting on 20 years now. Originally it cost $295 for a perpetual license. Eventually we understood that the majority of developers (actually employers of developers) will pay $0. But some are happy to pay for tooling, as long as they're confident they'll get a many multiples return-on-investment. Hence our pricing. Happily, enough do that we can run a modest but profitable bu…

> If […] you're still not using any kind of time travel debugging, you have effective tied one hand behind your own back!

Completely agree about that! I’ve used rr to debug things that I never could have without it. People are resistant to change though.

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

#39
post #3

What's the difference with RR?

Undo (where I'm CTO) has existed for longer than RR and its real benefit is that it scales to use cases where RR (for one reason or another) isn't a fit. Technically: * Doesn't need hardware performance counters - runs on more CPUs and on cloud systems (where performance counters are often blocked). * Can attach and detach at any time - means you get to record just a subset of program execution that's interesting. *…

> * You can our ship recording tech with your application and control it by API, so you can grab crash recordings on customer systems.

That’s actually pretty neat.

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

#40

gdb should already have a similar feature?

It does, but it is really sad by comparison with rr and UndoDB. You could use it to record a few function calls or perhaps if you’re lucky a whole frame of your game but not a whole program.
Post reply on HN