Patent ID: 11922168
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A device comprising:
processing hardware; and
storage hardware storing instructions configured to cause the processing hardware to perform a process comprising:
executing a program, the executing including maintaining a call stack and a corresponding shadow stack; and
while the program is executing and a chain of functions have been invoked by the program, responding to a request to generate a backtrace for the program by performing steps comprising:
copying a first contiguous set of return addresses from the shadow stack;
detecting one or more contiguous corrupted return addresses in the shadow stack contiguously after the first contiguous set of return addresses in the shadow stack;
skipping the one or more contiguous corrupted return addresses;
copying a second contiguous set of return addresses in the shadow stack, the second contiguous set of return addresses being contiguously after the one or more contiguous corrupted return addresses in the shadow stack; and
outputting the second contiguous set of return addresses.