US 12,298,875 B2
Employing sampled register values to infer memory accesses by an application
Danny Chen, Woodinville, WA (US); Colin M. Francis, Bellevue, WA (US); and Eric M. Vaughn, Bellevue, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 10, 2022, as Appl. No. 17/837,507.
Prior Publication US 2023/0401135 A1, Dec. 14, 2023
Int. Cl. G06F 11/36 (2006.01); G06F 9/38 (2018.01); G06F 9/54 (2006.01); G06F 11/30 (2006.01); G06F 9/30 (2018.01); G06F 11/34 (2006.01); G06F 11/362 (2025.01)
CPC G06F 11/3037 (2013.01) [G06F 9/30 (2013.01); G06F 9/30101 (2013.01); G06F 9/30145 (2013.01); G06F 9/3016 (2013.01); G06F 11/3495 (2013.01); G06F 11/3636 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
obtaining samples collected when executing an application, the samples comprising sampled register values that were present in one or more registers of a processor other than a program counter when the samples were collected, the sampled register values being collected from the one or more registers other than the program counter after a context switch from the application to an operating system that recorded the sampled register values;
identifying sampled instructions of the application that were executing when the samples were collected and other instructions of the application;
evaluating the sampled instructions and one or more of the other instructions using the sampled register values to identify memory accesses by the application; and
storing the identified memory accesses in a memory access log.