×

Cache-based tracing for time travel debugging and analysis

  • US 10,031,834 B2
  • Filed: 11/11/2016
  • Issued: 07/24/2018
  • Est. Priority Date: 08/31/2016
  • Status: Active Grant
First Claim
Patent Images

1. A computer system, comprising:

  • one or more processors; and

    one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to record a replay-able trace of execution of an executable entity using cache data, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following;

    identify a trace memory model that defines one or more events that are orderable across a plurality of threads of the executable entity;

    execute the plurality of threads of the executable entity concurrently across one or more processing units of the one or more processors;

    during execution of the plurality of threads, record a separate replay-able trace for each thread independently, including, for each thread;

    recording initial processor register state for the thread; and

    upon detecting a processor data cache miss based on execution of the thread, recording at least one line of cache data imported into the processor data cache in response to the processor data cache miss; and

    during execution of at least one of the plurality of threads,detecting an occurrence of a first event by the thread that should be recorded by its side effects of the first event, and recording the occurrence of the first event by recording the side effects of the first event into a replay-able trace for the thread, including recording one or more register values changed by the first event; and

    detecting an occurrence of a second event by the thread that is one of the one or more events that are orderable, and recording the occurrence of the second event by recording a sequence identifier into the replay-able trace for the thread that orders the second event among other events that are orderable across the plurality of threads.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×