« PreviousContinue »
United States Patent m
Hawley et al.
 COMPUTER PROGRAM DEBUGGING SYSTEM AND METHOD
 Inventors: Robert J. Hawley; Patricia A. Jemie,
both of San Jose, Calif.
 Assignee: Apple Computer, Inc., Cupertino, Calif.
 Appl. No.: 230,798
 Filed: Apr. 21, 1994
 Int. CI.6 G06F 11/34
 U.S. CI 395/183.04; 395/183.11;
 Field of Search 395/575, 183.04,
395/183.05, 183.1, 183.11, 183.13, 183.14; 371/19, 12, 5; 364/267.91, 927.81
 References Cited
U.S. PATENT DOCUMENTS
4,755,997 7/1988 Takahashi 371/19
4,924,382 5/1990 Shauda 364/200
4,937,864 6/1990 Caseiras et al 371/19
5,321,828 6/1994 Phillips et al 395/500
5,361,348 11/1994 Nakamoto 395/575
5,379,301 1/1995 Sato et al 371/19
Apple Computer, Feb., 1990, "A/UX Programmer's Reference-Sections 2 and 3(A-L)" (pages pertaining to ptrace(2) and sigvec(2)).
Robert D. Gronlund et al., "The HP 64700 Embedded Debug Environment: A New Paradigm for Embedded System Integration and Debugging," Hewlett-Packard Journal, pp. 90-106, vol. 44, No. 2, Apr. 1993, Palo Alto, U.S. John May & Francine Berman, "Panorama: A Portable, Extensible Parallel Debugger", ACM Sigplan Notices, pp. 96-106, vol. 28 No. 12, Dec. 1993, New York, U.S.
II II I! Il l IIIIII III il 11IIII 111
US005533192A [ii] Patent Number: 5,533,192  Date of Patent: Jul. 2, 1996
Primary Examiner—Robert W. Beausoliel, Jr.
Assistant Examiner—Trinh Tu
Attorney, Agent, or Firm—Bums, Doane, Swecker & Mathis
A program debugging system has a core unit that includes a plurality of debugger memory areas, each uniquely associated with a corresponding one of a plurality of debuggers. The core unit responds to an exception condition by selecting one debugger from the plurality of debuggers, selection being made by determining which one of the debuggers is associated with the program exception. Then, computer state information and debugger state information are stored into a selected one of the debugger memory areas that is exclusively associated with the selected debugger, and the selected debugger is activated. A new debugger may register with the core unit, so that the new debugger is added to the plurality of debuggers. The activated debugger may send a debugging command to the core unit, which responds by updating debugger state information based on the received debugging command, and storing the updated debugger state information into the selected debugger memory area. When a debugger relinquishes control of the computer, the core unit retrieves the updated debugger state information from the selected debugger memory area, and controls the hardware resources in accordance therewith. If the updated debugger state information includes an indication that a breakpoint is set, the core unit sets a breakpoint that includes information associating the set breakpoint with the selected debugger. When the breakpoint is triggered, the core unit identifies from the breakpoint information which of the debuggers the breakpoint is associated with, and activates the identified debugger.
21 Claims, 17 Drawing Sheets