Re:Show HN: Time travel debugger for web development
by lovegoblin on Wednesday September 15, 2021 @05:37PM
(#28544699)
Yes, but I think this is what they meant by
> Making watch logic for that sometimes is too complicated or changes the outcome (race conditions especially).
Re:Show HN: Time travel debugger for web development
by HeavyStorm on Saturday September 18, 2021 @12:16AM
(#28573662)
Why is that better than using your IDE? Your writing debugging code directly in you production code...
Re:Show HN: Time travel debugger for web development
by tedmielczarek on Thursday September 23, 2021 @12:07PM
(#28631135)
I haven't personally used Replay, but from my experience using rr (a native debugger that also provides time-traveling features) being able to replay execution both backwards and forwards in time on a whim is amazing. These tools excel at diagnosing bugs that are hard to reproduce, because you only have to reproduce the bug once under the debugger and then you can endlessly replay that execution until you figure it out. As Jason said above, you can retroactively add print statements in places that would be useful, without having to waste time trying to reproduce the bug again!
roc (the original author of rr) founded a company to build an even more compelling product on top of rr called Pernosco. They have some mind-blowing demos I'd recommend you check out: https://pernos.co/ .
Being able to easily answer questions like "where did the value in this variable come from, and when did it get set?" makes debugging a wildly different experience.
Re:Show HN: Time travel debugger for web development
by sprremix on Sunday September 19, 2021 @08:45AM
(#28583889)
How would you debug something inside of a loop (1000s of values) with a line breakpoint in your IDE? Your debugger will trigger the breakpoint every single time it walks through the loop, even when everything is going fine. Now if you conditionally trigger the breakpoint inside the loop using code, it will trigger once and only if it encounters whatever error you want to catch.
Obviously you remove that debug statement from your code after you're finished debugging.
That works well for ruby and javascript and probably lots of others.
e.g. something like the equivalent of
I'm really excited by Replay. I think it will be invaluable.