US 7,321,988 B2 | ||
Identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed | ||
Quji Guo, Stanford, Calif. (US); Roberto A Franco, Seattle, Wash. (US); Edward J Praitis, Woodinville, Wash. (US); Li-Hsin Huang, Bellevue, Wash. (US); Jingyang Xu, Redmond, Wash. (US); Brian D Wentz, Seattle, Wash. (US); Julian Jiggins, Seattle, Wash. (US); and Venkatavaradhan Panchapagesan, Redmond, Wash. (US) | ||
Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
Filed on Jun. 30, 2004, as Appl. No. 10/880,819. | ||
Prior Publication US 2006/0005078 A1, Jan. 05, 2006 | ||
Int. Cl. G06F 11/00 (2006.01) |
U.S. Cl. 714—38 [717/124] | 32 Claims |
1. In a computing device that includes an operating system and at least one program, a method of identifying the source of
a failure, comprising:
(a) in response to receiving notice of a failure, obtaining the memory contents of said computing device, the memory contents
including the stack associated with the active thread;
(b) identifying base pointers stored in the stack by:
(i) determining if a memory location references a higher memory address; and
(ii) if a memory location does not reference a higher memory address determining that the memory location does not store a
base pointer;
(c) selecting a subset of base pointers stored in the stack; and
(d) identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed.
|