Time Travel Debugging
11–20 of 52 posts
Re: Time Travel Debugging
#12I also recently discovered WDD[3] (which is for Windows) as well.
[0]: https://undo.io/
Re: Time Travel Debugging
#13Re: Time Travel Debugging
#14Earlier quoted context omitted.
I think it has been in gdb before Swift.
Yes: https://www.gnu.org/s/gdb/news/reversible.html This has approximately nothing to do with C++ or even "language communities".
Re: Time Travel Debugging
#15I'm an escalation engineer at Microsoft, and we have been using this for many, many years to solve complex customer cases. Having it go public is a pretty big deal for us.
Re: Time Travel Debugging
#16Earlier quoted context omitted.
Strange, the impression I got from MS devs on Twitter is that this is something they have been working on for a while that they just finished and premiered at a CPP conference.
The core technology was born out of a group in MS research long ago. Moving from research code to production is highly non-trivial. I first heard how time travel debugging was implemented before i knew about Facebook. I suspect SSDs are part of what made this more practical as it used to simply saturate disk IO, even on specialized systems. With a pci express SSD this becomes much more pragmatic then when the initial…
A modified version of the tracer is used sometimes to help with support cases, but this is the first public release of the WinDbg replay bit as well.
Re: Time Travel Debugging
#17Re: Time Travel Debugging
#18There is also undodb[0] and gdb supports reversing[1]. There is also the rr[2] project from Mozilla. All of those support Linux. I also recently discovered WDD[3] (which is for Windows) as well. [0]: https://undo.io/ [1]: https://www.gnu.org/software/gdb/news/reversible.html [2]: http://rr-project.org/ [3]: https://github.com/ipkn/wdd
https://software.intel.com/en-us/articles/program-recordrepl... https://software.intel.com/en-us/articles/pintool-drdebug
Re: Time Travel Debugging
#19We at VMware had this working and released in 2008. We supported windows and Linux. We even supported things like network applications that had lots of outside state. It was called replay debugging and besides Mozilla, few used it. Sadly it was killed when workstation 8.0 came out.
Re: Time Travel Debugging
#20Since I'm "posting too fast", let me put my answers here for now:
qod: Right now you can attach TTD to a process after initialization (or any point in time prior to the repro), but you can't trace starting from a breakpoint. We'd love to add that functionality though, so I'm sure you'll see it in a future version of the tool.
Glad you like the new WinDbg! It's been very polarizing (which you can see just reading the comments on this post!), so it's good to hear the positive feedback sometimes :)
We've got a ton of plans to make debugging even faster and more effective in WinDbg, so hopefully we'll win more people over as we make our tools easier to use and more powerful.