Defrag Tools #185 - Time Travel Debugging - Introduction

Sign in to queue

The Discussion

  • User profile image
    AndreyBazhan

    Great job!!! How can we open trace file in old WinDbg?

  • User profile image
    ChadBeeder

    @AndreyBazhan: This feature is only available in the new WinDbg Preview.

  • User profile image
    AndreyBazhan

    @ChadBeeder: Maybe there is some hidden switch :) , because in this video https://channel9.msdn.com/posts/Troubleshooting-Windows-Issues-2010 (11 min) a trace file is opened in old WinDbg.

  • User profile image
    ChadBeeder

    @AndreyBazhan: As I alluded to in the video, we've had this technology available in internal Microsoft builds of the debugger for some time. We are making it public for the first time in WinDbg Preview.

  • User profile image
    AndreyBazhan

    @ChadBeeder: I see, thanks!

  • User profile image
    Raphael

    Is there a way to record without installing WinDBG on target machine?

  • User profile image
    sba94018

    We definitely need this, so that we can capture traces on a machine that can't install anything from the (public) store (in my case: a device running Windows Embedded). A workaround would be an APPX or something that one can download on one dev machine and then deploy onto the target device without the Store infrastructure / Internet access.

  • User profile image
    Rumple

    Does TTD work if you copy its binaries from the C:\Program Files\WindowsApps folder to elsewhere?

  • User profile image
    ChadBeeder

    For now, the only supported way to capture TTD traces is via WinDbg Preview. If you have additional scenarios you would like us to support, the team is recommending you submit feature requests via the Feedback Hub.

  • User profile image
    Jeffrey Tan

    Does it use iDNA TTT technology for time-travel or approach similar to Mozilla's rr debugger?

  • User profile image
    ChadBeeder

    @Jeffrey Tan: The former. 

  • User profile image
    Raphael

    @sba94018: feature requests for those who want to capture TTD trace without WinDbg overhead https://insider.windows.com/en-us/fb/?contextid=711&feedbackid=0a2af3ec-aa36-40d5-96fc-b30cf41ae15b&form=1

  • User profile image
    Nori

    That's a great news, but why did Microsoft decide to release TTD public? I thought that TTD aka TTT was one of Microsoft's internal and secret tools. I'm curious about what made Microsoft release TTD public. Anyway, thank you for sharing with us such a great support tool.

  • User profile image
    Kamran

    Looks great. Couple of questions.

    1. Could it be used for .NET applications? If so, is there any updated version of SoS that will have to be used.

    2. It looks a lot like IntelliTrace. You can collect IntelliTrace logs using its standalone collector. For me the major limitation of IntelliTrace is the set of data it can collect. For example it doesn't collect values of local variables, it only collect first level implicit types of a class etc. Are there any such limitations with TTD?

  • User profile image
    cenkergen

    Looks great. I wonder if this feature will be added to future versions of Visual Studio ? It'd be great to have it in VS. 

  • User profile image
    Suri

    Help!! I wanted to debug app, the app requires to start in elevated mode.

    When i try to attach the executable in WinDbg i get a error message.

    WinDbg needs to run elevated to use Time Travel Debugging.

    How to start WinDbg in elevated mode?? Can you do that??

  • User profile image
    Gerardo

    Is the specification of the trace files format open/available?

  • User profile image
    ChadBeeder

    @Suri: Right-click the WinDbg shortcut and "Run as Administrator."

    @Gerardo: No, I don't think so.

  • User profile image
    Jampin

    @cenkergen: WinDbg Preview is the first debugger to include TTD. We are looking at including TTD features in a future version of Visual Studio. Please email TTDVS@microsoft.com if you would like to see TTD in Visual Studio.

  • User profile image
    Jampin

    See the TTD FAQ for answers and more information: https://blogs.msdn.microsoft.com/windbg/2017/10/20/time-travel-debugging-faq/ 

  • User profile image
    blinder

    This is fantastic, great work guys - whats the timeline for WinDbg Next/Preview GA?, i.e. not through the Windows Store (so we can use it in a more portable manner)

  • User profile image
    Jampin

    @blinder We will ship a version of TTD recorder and WinDbg & CDB which supports replaying a TTD trace file in a future version of WDK/SDK. We are not communicating any timeframe yet for WDK/SDK.

  • User profile image
    ahmd

    Hmm, interesting. Although there are so many unanswered questions:

    1. Does TTD work for kernel debugging?
    2. How does it treat file system access, other I/O?
    3. Does it make a snapshot of the entire virtual address space or only what's affected by each instruction?
    4. Also how about making that new WinDbg available for versions of Windows other than Win10?

  • User profile image
    Jampin

    @ahmd: Let's see if I can answer your questions here. Otherwise contact dbgsig alias for additional clarification.

    1. No TTD is for user mode debugging.
    2. TTD records the impact to memory which will be written to file
      1. During record, we do not capture the actual File IO which occurs externally to the process. We capture the side effects
      2. During replay, we do not replay the actual File IO but only the side effects
    3. TTD will take a snapshot of the memory at the very beginning and then record the changes to the memory for the recorded process
    4. We have received this request before. Please add comment to the Feedback Hub so we prioritize appropriately

Add Your 2 Cents