Dynamically debugging user-defined functions and stored procedures
Filing Information
- Patent Number: US6253368
- Application Number: US8928621
- Filing date: 09/12/1997
- Issue date: 06/26/2001
- Predicted expiration date: 03/31/2017
- U.S. Classifications: 717/4 ·
- International Classifications: --
- International Classifications: 717 1 · 717 2 · 717 4 · 714 34 · 714 38 · 707100 · 707101 · 707102 · 345967 ·
- Related U.S. Application Data:
RELATED APPLICATIONS
This application is a continuation-in-part of the following co-pending and commonly-assigned applications:
Application Ser. No. 08/828,481, entitled “MULTI-TIER DEBUGGING,” filed Mar. 31, 1997, by Daniel E. House and Constance J. Nelin, now U.S. Pat. No. 6,061,517;
Application Ser. No. 08/828,854, entitled “PROGRAMMING DEVELOPMENT ENVIRONMENT FOR INTRANET AND INTERNET APPLICATIONS EMPLOYING UNIQUE PROJECT DATA STRUCTURE,” filed Mar. 31, 1997, by Daniel E. House, Brian J. Owings, and Shiau-Shiau Pei, now U.S. Pat. No. 6,145,119;
Application Ser. No. 08/828,476, entitled “SHARED OBJECT MODEL,” filed Mar. 31, 1997, by Daniel E. House, Brian J. Owings, and Shiau-Shiau Pei, now U.S. Pat. No. 5,890,158;
Application Ser. No. 08/828,480, entitled “REMOTE SCRIPTING OF LOCAL OBJECTS,” filed Mar. 31, 1997, by Daniel E. House, Constance J. Nelin, and Rebecca B. Nin, now U.S. Pat. No. 6,188,400;
Application Ser. No. 08/828,989, entitled “METHOD AND APPARATUS FOR SIMULATING A MULTI-TIERED COMPUTER ENVIRONMENT,” filed Mar. 31, 1997, by Daniel E. House and Constance J. Nelin, now U.S. Pat. No. 5,940,593;
Application Ser. No. 08/828,478, entitled “MULTI-TIER VIEW PROJECT WINDOW,” filed Mar. 31, 1997, by Howard J. Glaser, Daniel E. House, and Constance J. Nelin, now U.S. Pat. No. 5,953,525;
Application Ser. No. 08/829,104, entitled “EXTENDER USER INTERFACE,” filed Mar. 31, 1997, by Thomas E. Conrad, Howard J. Glaser, Jean C. Ho, James L. Keesey, Constance J. Nelin, and Gerald J. Wilmot, now U.S. Pat. No. 6,069,627;
Application Ser. No. 08/828,846, entitled “SHARED MODULES GRAPHICAL USER INTERFACE,” filed Mar. 31, 1997, by Howard J. Glaser, Daniel E. House, and Constance J. Nelin, now U.S. Pat. No. 5,956,036;
Application Ser. No. 08/828,479, entitled “QUERY SELECTION FOR A PROGRAM DEVELOPMENT ENVIRONMENT,” filed Mar. 31, 1997, by Howard J. Glaser and Mary C. Lehner, now U.S. Pat. No. 5,911,075;
Application Ser. No. 08/828,477, entitled “DOCKING AND FLOATING MENU/TOOL BAR,” filed Mar. 31, 1997, by Howard J. Glaser, Karl D. Johnson, and Stewart E. Nickolas, now U.S. Pat. No. 5,883,626;
Application Ser. No. 08/828,890, entitled “HTML INTEGRATION UTILITY FOR A PROGRAM DEVELOPMENT ENVIRONMENT,” filed Mar. 31, 1997, by Howard J. Glaser, now U.S. Pat. No. 5,953,731;
Application Ser. No. 08/828,897, entitled “EXTENDER SMART GUIDE,” filed Mar. 31, 1997, by Howard J. Glaser, now U.S. Pat. No. 6,058,264; and
Application Ser. No. 08/828,990, entitled “DYNAMIC DISCOVERY OF CONTROLS,” filed Mar. 31, 1997, by Daniel E. House and Constance J. Nelin, now U.S. Pat. No. 5,875,322;
all of which applications are incorporated by reference herein.
This application is also related to the following co-pending and commonly assigned patent application:
Application Ser. No. 08/928,620 entitled “STORING P-CODE IN A DATABASE,” filed on same date herewith, by Curt L. Cotner, Wendy L. Koontz, Gerald H. Roth, Frederick T. Sharp and Shu-Huar J. Yeh, which application is hereby incorporated by reference herein. - View document at: (opens new window):
USPTO · PAIR · esp@cenet · Patent Family* Related patent documents may or may not exist on these sites
Abstract
A method, apparatus, and article of manufacture and memory for providing a programming development environment that supports the development of Internet and Intranet applications. More specially, the present invention discloses an efficient, versatile dynamic debugger that allows platform-independent debugging of applications written in a wide variety of languages.References Cited
U.S. Patent Documents
| Document Number | Assignees | Inventors | Issue/Pub Date |
|---|---|---|---|
| US4910663* | Tandem Computers Incorporated | Bailey | Mar 1990 |
| US5655073* | Ltd. Hitachi | Nishikado et al. | Aug 1997 |
| US5675800* | Digital Equipment Corporation | Fisher, Jr. et al. | Oct 1997 |
| US5771385* | Sun Microsystems, Inc. | Harper | Jun 1998 |
| US5926637* | BEA Systems, Inc. | Inoue | Jul 1999 |
| US5978902* | Advanced Micro Devices, Inc. | Mann | Nov 1999 |
Referenced By
Patent Family
| Document Number | Assignee | Inventors | Issue/Pub Date |
|---|---|---|---|
| US6253368 | International Business Machines Corporation | Constance J. Nelin et al. | Jun 2001 |
| US6424974 | International Business Machines Corporation | Curt L. Cotner et al. | Jul 2002 |
Independent Claims | See all claims (33)
- 1. A method of debugging a computer routine, comprising the steps of: accepting an interpretable instruction set defining the computer routine in the computer; storing the instruction set and a debug flag in a database table accessible by the computer; storing a key to the debug flag and the instruction set in a data link library (DLL) associated with the computer routine; reading the instruction set and the debug flag from the database table using the key; and reading the instruction set from the database table into the computer and invoking the debugger when the debug flag indicates that the computer routine should be run in the debug mode.
- 2. A method of debugging a computer program, comprising the steps of: accepting an instruction set defining the computer program in the computer; and storing data sufficient to invoke a debugger in a database table accessible by the computer; wherein the step of storing data sufficient to define and invoke a debugger in a database table comprises the steps of: storing the instruction set in a database table accessible by the computer; and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; wherein the step of storing a debug flag in the database table comprises the steps of: presenting a debug selecting input delimiter to a user; presenting a list of available database tables to the user when the debug selecting input delimeter is selected; accepting a database table selection comprising a single database table; setting the debug flag and storing an address of the debugger in the selected database table; and resetting the debug flag when the debug selecting input delimeter is not selected.
- 3. A method of debugging a computer program, comprising the steps of: accepting an instruction set defining the computer program in the computer; and storing data sufficient to invoke a debugger in a database table accessible by the computer; wherein the step of storing data sufficient to define and invoke a debugger in a database table comprises the steps of: storing the instruction set in a database table accessible by the computer; and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; wherein the instruction set comprises computer program instructions and debugger instructions.
- 4. A method of debugging a computer program, comprising the steps of: accepting an instruction set defining the computer program in the computer; and storing data sufficient to invoke a debugger in a database table accessible by the computer by performing the steps of storing the instruction set in a database table accessible by the computer and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; and storing a debugger address in the database table.
- 5. A method of debugging a computer program, comprising the steps of: accepting an instruction set defining the computer program in the computer; and storing data sufficient to invoke a debugger in a database table accessible by the computer by performing the steps of storing the instruction set in a database table accessible by the computer and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; and accepting the value of the debug flag from a user, the accepting step comprising the steps of: presenting a stored procedure dialog box having a build option tab to the user, the build option tab including a check box for selecting the debug flag; and setting the debug flag when the check box is selected by the user.
- 6. A method of debugging a computer program, comprising the steps of: accepting an instruction set defining the computer program in the computer; and storing data sufficient to invoke a debugger in a database table accessible by the computer by performing the steps of storing the instruction set in a database table accessible by the computer and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; and accepting a debug flag entry from a user, the accepting step comprising the steps of: presenting a database options dialog box to the user, the database options dialog box having a list of debuggable computer programs, a checkbox associated with each debuggable computer program; and setting the debug flag for the computer program when the associated check box is selected by the user.
- 7. A method of debugging a computer program comprising an instruction set having computer program instructions and debugger instructions, comprising the steps of: reading a table from a database accessible by the computer, the table comprising the instruction set and a debug flag; and invoking a debugger when the debug flag indicates that the computer program should be run in a debug mode.
- 12. An apparatus for debugging a computer program, comprising: a computer, having a memory and a processor; means, performed by the computer, for accepting an instruction set defining the computer program in the computer; and means, performed by the computer, for storing data sufficient to invoke a debugger in a database accessible by the computer, including means, performed by the computer, for storing the instruction set in a database accessible by the computer, and means, performed by the computer, for storing a debug flag in the database, the debug flag indicating when the debugger is invoked; wherein the means for storing a debug flag in the database comprises: means, performed by the computer, for presenting an input delimeter to a user; means, performed by the computer, for presenting a list of available database tables to the user when the debug selecting input delimeter is selected; means, performed by the computer, for accepting a database table selection comprising a single database table; and means, performed by the computer, for setting the debug flag when the debug selecting input delimeter is not selected.
- 13. An apparatus for debugging a computer program, comprising: a computer, having a memory and a processor; means, performed by the computer, for accepting an instruction set defining the computer program in the computer; and means, performed by the computer, for storing data sufficient to invoke a debugger in a database accessible by the computer, including means, performed by the computer, for storing the instruction set in a database accessible by the computer, and means, performed by the computer, for storing a debug flag in the database, the debug flag indicating when the debugger is invoked; wherein the instruction set comprises computer program instructions and debugger instructions.
- 14. An apparatus for debugging a computer program, comprising: a computer, having a memory and a processor; means, performed by the computer, for accepting an instruction set defining the computer program in the computer; means, performed by the computer, for storing data sufficient to invoke a debugger in a database accessible by the computer, including means, performed by the computer, for storing the instruction set in a database accessible by the computer, and means, performed by the computer, for storing a debug flag in the database, the debug flag indicating when the debugger is invoked; and means, performed by the computer, for storing a debugger address in the database.
- 15. An apparatus for debugging a computer program, comprising: a computer, having a memory and a processor; means, performed by the computer, for accepting an instruction set defining the computer program in the computer; means, performed by the computer, for storing data sufficient to invoke a debugger in a database accessible by the computer, including means, performed by the computer, for storing the instruction set in a database accessible by the computer, and means, performed by the computer, for storing a debug flag in the database, the debug flag indicating when the debugger is invoked; and means, performed by the computer, for accepting the value of the debug flag from a user, the accepting means having means for presenting a stored procedure dialog box having a build options tab to the user, the build options tab having a checkbox selecting the debug flag, and means for setting the debug flag when the checkbox is selected by the user.
- 16. An apparatus for debugging a computer program, comprising: a computer, having a memory and a processor; means, performed by the computer, for accepting an instruction set defining the computer program in the computer; means, performed by the computer, for storing data sufficient to invoke a debugger in a database accessible by the computer, including means, performed by the computer, for storing the instruction set in a database accessible by the computer, and means, performed by the computer, for storing a debug flag in the database, the debug flag indicating when the debugger is invoked; and means, performed by the computer, for accepting a debug flag entry from a user, the accepting means having means for presenting a database options dialog box having a list of debuggable computer programs and a checkbox associated with each debuggable computer program to the user, and means for setting the debug flag for the computer program when the associated check box is selected by the user.
- 17. An apparatus for debugging a computer program comprising an instruction set having computer program instructions and debugger instructions, comprising: a computer, having a memory and a processor; means, performed by the computer, for reading a value from a database accessible by the computer, the value comprising the instruction set and a debug flag; and means, performed by the computer, for invoking a debugger when the debug flag indicates that the computer program should be executed in the debug mode.
- 22. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program, the method comprising the steps of: accepting an instruction set defining the computer program in the computer; storing data sufficient to invoke a debugger in a database table accessible by the computer. storing the instruction set in a database table accessible by the computer; and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; wherein the method step of storing a debug flag in the database table comprises the steps of: presenting a debug selecting input delimiter to a user; presenting a list of available database tables to the user when the debug selecting input delimeter is selected; accepting a database table selection comprising a single database table; setting the debug flag and storing an address of the debugger in the selected database table; and resetting the debug flag when the debug selecting input delimeter is not selected.
- 23. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program, the method comprising the steps of: accepting an instruction set defining the computer program in the computer; storing data sufficient to invoke a debugger in a database table accessible by the computer. storing the instruction set in a database table accessible by the computer; and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; wherein the instruction set comprises computer program instructions and debugger instructions.
- 24. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program, the method comprising the steps of: accepting an instruction set defining the computer program in the computer; storing data sufficient to invoke a debugger in a database table accessible by the computer. storing the instruction set in a database table accessible by the computer; storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; and storing a debugger address in the database table.
- 25. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program, the method comprising the steps of: accepting an instruction set defining the computer program in the computer; storing data sufficient to invoke a debugger in a database table accessible by the computer. storing the instruction set in a database table accessible by the computer; storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; and accepting the value of the debug flag from a user, the accepting step comprising the steps of: presenting a stored procedure dialog box having a build option tab to the user, the build option tab including a check box selecting the debug flag; and setting the debug flag when the check box is selected by the user.
- 26. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program, the method comprising the steps of: accepting an instruction set defining the computer program in the computer; storing data sufficient to invoke a debugger in a database table accessible by the computer; storing the instruction set in a database table accessible by the computer; and storing a debug flag in the database table, the debug flag indicating when the debugger is invoked; accepting a debug flag entry from a user, the accepting step comprising the steps of: presenting a database options dialog box to the user, the database options dialog box having a list of debuggable computer programs, a checkbox associated with each debuggable computer program; and setting the debug flag for the computer program when the associated check box is selected by the user.
- 28. A program storage device, readable by a computer having a memory and a processor, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of debugging a computer program comprising an instruction set having computer program instructions and debugger instructions, the method comprising the steps of: reading a table from a database accessible by the computer, the table comprising the instruction set and a debug flag; and invoking a debugger when the debug flag indicates that the computer program should be run in a debug mode.
- 33. A memory for storing data for debugging a computer routine, the memory comprising: a database table readable by a relational database management system accessible by the computer routine, the database table having an interpretable instruction set and a debug flag for invoking a debugger to debug the interpretable instruction set, wherein the interpretable instruction set is retrievable using a key stored in a data link library (DLL) associated with the computer routine.





View assignee updates
analyzing 100 million+ documents to uncover your network...