Flexible error trace mechanism
First Claim
1. A system, comprising:
- a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a program configured to;
call an API function of a library; and
obtain an error trace for the API function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the API function.
3 Assignments
0 Petitions
Accused Products
Abstract
For a flexible error trace mechanism, embodiments may be implemented for C/C++ interface libraries, or in programs written in C/C++ or other programming languages. In one embodiment, when an error occurs in a function call, a trace element may be recorded that may include the source file name, function name, line number and other information that may be used to identify the error. In one embodiment, the library function may call a plurality of library functions in a function call stack. For each of the plurality of library functions, if the library function generates an error, an error trace element may be added to the error trace. After completion of the library function, the program may obtain the error trace for the library function. The error(s), if any, may be debugged using the information in the obtained error trace.
58 Citations
62 Claims
-
1. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a program configured to;
call an API function of a library; and
obtain an error trace for the API function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the API function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a library and a program configured to call a library function of the library;
wherein the library function is configured to, if the library function generates one or more errors, add an error trace element to an error trace for each error, wherein each error trace element includes information describing a particular error generated during execution of the library function; and
wherein, after completion of the library function, the program is further configured to obtain the error trace for the library function. - View Dependent Claims (10, 11, 12)
-
-
13. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a program configured to;
call a function; and
obtain an error trace for the function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the function. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a program configured to;
call a function;
determine if the function generated an error; and
if the function generated an error, obtain an error trace for the function, wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the function. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a program configured to generate code configured to;
call an API function of a library; and
obtain an error trace for the API function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the API function. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a library comprising one or more library functions and an API to the library, wherein the API includes;
one or more function definitions configured for access of the one or more library functions by a program; and
a function definition for a get error trace function configured for access by the program to get error traces generated by the one or more library functions;
wherein each error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the associated library function. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A system, comprising:
-
means for a plurality of functions in a function call stack to generate information describing one or more errors generated by the plurality of library functions;
means to obtain the generated information; and
means to determine from the obtained information one or more of a location where each error occurred, an error type of each error, and what the each error is. - View Dependent Claims (37, 38)
-
-
39. A method, comprising:
-
a program calling a function;
the program determining if the function generated an error; and
if the function generated an error, the program obtaining an error trace for the function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the function. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46)
-
-
47. A method, comprising:
-
a program calling a library function of a library via an API to the library;
if the library function generates one or more errors, adding an error trace element to an error trace for each error;
after completion of the library function, the program obtaining the error trace for the library function;
wherein each error trace element includes information describing a particular error generated during execution of the library function. - View Dependent Claims (48, 49, 50)
-
-
51. A computer-accessible medium comprising program instructions, wherein the program instructions are configured to implement:
-
a program calling a function;
the program determining if the function generated an error; and
if the function generated an error, the program obtaining an error trace for the function;
wherein the error trace includes one or more error trace elements, wherein each error trace element includes information describing a particular error generated during execution of the function. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58)
-
-
59. A computer-accessible medium comprising program instructions, wherein the program instructions are configured to implement:
-
a program calling a library function of a library via an API to the library;
if the library function generates one or more errors, adding an error trace element to an error trace for each error;
after completion of the library function, the program obtaining the error trace for the library function;
wherein each error trace element includes information describing a particular error generated during execution of the library function. - View Dependent Claims (60, 61, 62)
-
Specification