Mark Griffin
Time-Traveling Debugging (TTD) is so much more than just adding an undo button to your normal debugger, but without the appropriate tools and mindset, we risk approaching TTD thinking like Marty McFly instead of a four-dimensional super-alien.
This talk will focus on unlocking the true power of TTD through scripting and clarifying visuals. We’ll start by giving a brief technical foundation of what TTD really is and how it works, what the tooling is available on different platforms, and the basics of how you can get started experimenting with it.
Then we’ll move on to the meat of the talk: sharing some of the power user workflows and tools that help us wrap our heads around the capabilities of TTD. We’ll dive into some of our favorite visuals that can help us understand what’s going on when debugging, giving us liberation instead of feeling like we’re stuck building a ship in a bottle with standard debugging tools. We’ll also show how little improvements really add up in terms of ergonomics and speed when debugging or reversing code, and spending a little extra time scripting or getting to know one’s tools can really pay off.
But we’ll also share the downsides and hardships of a potential time-traveler: the platform-specific nonsense, inconvenient APIs and workflows, and the difficulty having to script and debug our own tools… but by the end of the talk we’ll see the beginnings of tooling that can help us understand code like a planeswalker, saving our time, even if it can’t save our timeline.