Time Travel Debugging - Greg Law - Meeting C++ 2023

Sdílet
Vložit
  • čas přidán 16. 02. 2024
  • Time Travel Debugging - Greg Law - Meeting C++ 2023
    Slides: slides.meetingcpp.com
    Take the survey: survey.meetingcpp.com
    Everyone knows that debugging is twice as hard as writing the code in the first place. At some point your program, which did billions of things per second, has diverged from your expectations and you need to figure out where. Time travel debugging can be incredibly powerful: it allows you to rewind your program's execution to any line of code that executed and see any piece of program state at any time. Setting a watchpoint (aka data breakpoint) on a suspicious-looking data and winding back to the line of code that last changed that data is particularly helpful.
    For decades time travel debuggers have been toys, but now they're here for real. The latest breed have good performance and scale well to real-world, complex code. This talk will show demos of different tools on different platforms (open-source and proprietary) and get under the hood to explain how they work so that you can get the best out of them.
  • Věda a technologie

Komentáře • 4

  • @fwopkins
    @fwopkins Před 3 měsíci +1

    6:30 what a brilliant illustration of time travel debugging by time travelling through his presentation. 🥇

  • @friedrichdergroe9664
    @friedrichdergroe9664 Před 3 měsíci

    Massively Cool.

  • @billionai4871
    @billionai4871 Před 3 měsíci +1

    Hah, what a coincidence! Early this month i JUST gave a talk on FOSDEM about the internal workings of GDB's inbuilt time travel debugging and how we're taking baby steps in improving it
    On an interesting note, the hardware watchpoint was fixed recently, and will no longe be a bug in GDB 15 :)

  • @saturdaysequalsyouth
    @saturdaysequalsyouth Před 3 měsíci

    Ubuntu 20.04 has some different configuration which makes following this example very difficult. I didn't get the same crash reason the presenter got. Ubuntu 20.04 has some stack protection. "*** stack smashing detected ***: terminated"