Method and system for tracing and displaying execution of nested functions
Filing Information
- Patent Number: US7120901
- Application Number: US10235599
- Filing date: 09/05/2002
- Issue date: 10/10/2006
- Prior Publication Data:
- US20030159133 - 08/21/2003
- Predicted expiration date: 02/16/2024
- Patent term adjustment: 529
- U.S. Classifications: 717/128 · 714/45 · 717/130 · 714/48 · 717/127 ·
- International Classifications: G06F944 · G06F1100 ·
- Foreign Priority: EP01480099 - 10/26/2001 ·
- 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 and system for tracing the failing or successful execution of nested functions coded with return codes in a thread during its execution. The method comprises an ENTRY and EXIT trace macro to mark the beginning and the end of execution of the function, a TRACE macro to record messages and program variable values, and a QUIT macro marking the failing execution of the corresponding function. Using a Graphical User Interface, an interactive trace analyzer reads the trace file and displays the tree structure of the nested functions and marks, by using different colors, the success or failure of each of them. The trace analyzer utilities help the user to quickly identify the error in the source code corresponding to a function with a failing execution.References Cited
U.S. Patent Documents
* cited by examinerOther Publications
| Tivoli Software Distribution Reference Manual Version 4.0. |
| Research Disclosure Nov. 1998 No. 415, Article No. 41583, “Trace Viewer”, p. 1513. |
Referenced By
| Document Number | Assignee | Inventors | Issue/Pub Date |
|---|---|---|---|
| US7539950 | Microsoft Corporation | Igor Pankovcin | May 2009 |
| US7577961 | Sun Microsystems, Inc. | Robert K. Bissett et al. | Aug 2009 |
| US7581211 | International Business Machines Corporation | Sean Eric Babineau et al. | Aug 2009 |
| US7325166 | Autodesk, Inc. | Robert Evon Maguire | Jan 2008 |
| US7559055 | Research In Motion Limited | Lianghua Yang et al. | Jul 2009 |
| US7627857 | International Business Machines Corporation | Vaughn Theodore Rokosz | Dec 2009 |
Patent Family
| Document Number | Assignee | Inventors | Issue/Pub Date |
|---|---|---|---|
| US20030159133 | INTERNATIONAL BUSINESS MACHINES CORPORATION | Luigi Pichetti et al. | Aug 2003 |
| US7120901 | International Business Machines Corporation | Luca Ferri et al. | Oct 2006 |
Independent Claims | See all claims (33)
- 1. A method for identifying errors, in a source code stored on a computer, of program components having nested functions which may use return codes and which are executed in a multithread environment, said method comprising the steps of: using an editor operating on the computer, adding, in the source code of the program components, the following macros: an ENTRY macro at a beginning of each function, an EXIT macro at a normal execution end of each function, a TRACE macro wherever specific information needs to be dumped and a QUIT macro in a place where an unexpected condition occurs; compiling the source code into executable code using a code source compiler on the computer; executing said executable code, including trace macro code, wherein each time one of the ENTRY or EXIT macros is executed, logging a trace record in a trace file including a name of the corresponding function, each time a TRACE macro is executed, logging a trace record in the trace file including the dumped specific information, and, each time a QUIT macro is executed, logging a trace record in the trace file comprising the name of the corresponding function, and jumping to an execution of the EXIT macro of said corresponding function; reading a selected trace record in the trace file; if the selected trace record has been created by execution of an ENTRY macro, displaying on a screen of the computer the function name as a representation of a node, the node becoming a current node, of a tree illustrating a structure of the program components comprising nested functions; if the selected trace record has been created by execution of a QUIT macro, marking on the screen the current node as a failing function, a parent tree node becoming the current node; if the trace macro has been created by execution of an EXIT macro, marking the current node on the screen as a successfully executed function, the parent tree node becoming the current node; if the trace macro has not been created by execution of an EXIT macro, storing in a memory of the computer the corresponding dumped specific information of the TRACE macro as a leaf of the current node; and repetitively executing the previous steps up to an end of the trace file.
- 12. An information handling system for identifying errors, in a source code stored on the system, of program components having nested functions which may use return codes and which are executed in a multithread environment, said system comprising: an editor for adding, in the source code of the program components, the following macros: an ENTRY macro at a beginning of each function, an EXIT macro at a normal execution end of each function, a TRACE macro wherever specific information needs to be dumped and a QUIT macro in a place where an unexpected condition occurs; a code source compiler for compiling the source code into executable code on the system; means for executing the executable code, including trace macro code, wherein each time one of the ENTRY or EXIT macros is executed, a trace record is logged in a trace file including a name of the corresponding function, each time a TRACE macro is executed, a trace record is logged in the trace file including the dumped specific information, and, each time a QUIT macro is executed, a trace record is logged in the trace file comprising the name of the corresponding function, and execution jumps to the EXIT macro of said corresponding function; means for reading a selected trace record in the trace file; if the selected trace record has been created by execution of an ENTRY macro, means for displaying, on a screen of a display device, the function name as a representation of a node, the node becoming a current node, of a tree illustrating a structure of the program components comprising nested functions; if the selected trace record has been created by execution of a QUIT macro, means for marking on the screen the current node as a failing function, a parent tree node becoming the current node; if the trace macro has been created by execution of an EXIT macro, means for marking the current node on the screen as a successfully executed function, the parent tree node becoming the current node; and if the trace macro has not been created by execution of an EXIT macro, means for storing in a memory of the system, the corresponding dumped specific information of the TRACE macro as a leaf of the current node.
- 23. A computer program product stored in a computer operable media for identifying errors, in source codes stored on a computer system, of program components having nested functions which may use return codes and which are executed in a multithread environment, said program product comprising: means for using an editor for adding, in the source code of the program components, the following macros: an ENTRY macro at a beginning of each function, an EXIT macro at a normal execution end of each function, a TRACE macro wherever a specific information needs to be dumped and a QUIT macro in a place where an unexpected condition occurs; means for compiling the source code into executable code on the computer system; means for executing the executable code, including trace macro code, wherein each time one of the ENTRY or EXIT macros is executed, a trace record is logged in a trace file including a name of the corresponding function, each time a TRACE macro is executed, a trace record is logged in the trace file including the dumped specific information, and, each time a QUIT macro is executed, a trace record is logged in the trace file comprising the name of the corresponding function, and execution jumps to the EXIT macro of said corresponding function; means for reading a selected trace record in the trace file; if the selected trace record has been created by execution of an ENTRY macro, means for displaying, on a screen of a display device, the function name as a representation of a node, the node becoming a current node of a tree illustrating a structure of the program components comprising nested functions; if the selected trace record has been created by execution of a QUIT macro, means for marking on the screen the current node as a failing function, a parent tree node becoming the current node; if the trace macro has been created by execution of an EXIT macro, means for marking the current node on the screen as a successfully executed function, the parent tree node becoming the current node; and if the trace macro has not been created by execution of an EXIT macro, means for storing in a memory of the computer system, the corresponding dumped specific information of the TRACE macro as a leaf of the current node.





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