Live data from Hacker News

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

undo.io

21–30 of 51 posts

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

#22

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.

this if someone's bringing "google payscale" for comparison... well that's not some average joe... why not just bring Bill Gates and say "everything -- including private jet -- is dirt cheap" ? $8k per year simply doesn't make sense for 95% of the programmers. For a lot of developing countries, that's more than a well-paying programmer's annual salary...

I presented a conditional calculation using numbers contextually-relevant to a forum run by a company that funds US tech startups.

IF you are such a company, THEN you only need very minor productivity improvements to justify such a price difference. IF you are such a company, THEN such costs are well within the cost of doing business. IF you are NOT then you are free to apply your own numbers to your situation.

However, the overwhelming majority of companies that fall into the applicable category outright refuse to even consider the possibility of a 8 k$ capital expense on software development tooling out of the absolutely foolish belief that such expenditure CAN NOT be justified as such a cost could not possibly be recouped in benefits or out of the absolutely foolish belief that a product that costs 100$ must be 100x better than a product that costs 1$ to be justified, and thus a product that costs money must be infinitely better than a product that is free to be justified.

It is absolutely management incompetence for US employers to just shut down upon hearing about a 8 k$ capital expenditure instead of doing a proper cost-benefit analysis to determine if such expenditures would be justified.

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

#23
post #3

What's the difference with RR?

[rr developer here]

Undo has cool features like Live Recording that we don't have in rr. They don't need access to the hardware PMU which is a big advantage in some situations. They can handle accesses to shared memory in cases where rr can't. https://undo.io/resources/undo-vs-rr/ is a good resource.

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

#24
post #20

Earlier quoted context omitted.

They have a comparison page: https://undo.io/resources/undo-vs-rr/ I was in talks with them recently because I kept running into limitations with rr. The main advantages for my use case were that undo doesn't have the same dependency on hardware timers, which means the ARM support is much better, you can run it in a VM (e.g. a cloud machine) and you can do replays on different systems.

A couple minor notes: - If your program is very light on syscalls (i.e. basically entirely in-memory computation), rr can go to a basically 1.0x slowdown. In particular this means you can run benchmarks in it at full capacity, provided that I/O is outside of the repeated part (e.g. if sometimes the bench is noticably slower, you can replay and see if some important loads/stores crossed a cacheline/page). You can even…

I regularly deal with 3 different architectures. I can go and spin up a cloud instance every time I want to run rr (and in fact that's the solution I've been working with), but it's just annoying enough to justify spending a couple hours in sales calls.

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

#27
post #22

Earlier quoted context omitted.

this if someone's bringing "google payscale" for comparison... well that's not some average joe... why not just bring Bill Gates and say "everything -- including private jet -- is dirt cheap" ? $8k per year simply doesn't make sense for 95% of the programmers. For a lot of developing countries, that's more than a well-paying programmer's annual salary...

I presented a conditional calculation using numbers contextually-relevant to a forum run by a company that funds US tech startups. IF you are such a company, THEN you only need very minor productivity improvements to justify such a price difference. IF you are such a company, THEN such costs are well within the cost of doing business. IF you are NOT then you are free to apply your own numbers to your situation. Howev…

I agree with you. At most companies your manager would never even think of spending that much money on you, even if it was completely justifiable. You’re lucky if you can get permission to buy a $50 book.

That said, if you’re going to spend money on a debugger then I recommend rr + Pernosco instead. Pernosco is a completely different kind of debugger that will make you much, much more productive at debugging than any traditional debugger where you start by adding breakpoints and then stepping through your code. Costs a lot less too.

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

#28
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.

You’re being pedantic for no reason.

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

#30
post #23
post #3

What's the difference with RR?

[rr developer here] Undo has cool features like Live Recording that we don't have in rr. They don't need access to the hardware PMU which is a big advantage in some situations. They can handle accesses to shared memory in cases where rr can't. https://undo.io/resources/undo-vs-rr/ is a good resource.

If you don't have access to the hardware PMU then you can try https://github.com/sidkshatriya/rr.soft (which is a modification of the rr debugger).

It may not be commercial quality but its open source and free :)

[I built rr.soft]

Post reply on HN