Embedding and executing trace functions in code to gather trace data

US9367427B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9367427-B2
Application numberUS-201313837473-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateJun 14, 2016
Grant dateJun 14, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Provided are a computer program product, system, and method for embedding and executing trace functions in code to gather trace data. A plurality of trace functions are embedded in the code. For each embedded trace function, a trace level is included indicating code to which the trace applies. The trace level comprises one of a plurality of levels. During the execution of the code, the embedded trace functions having one of the levels associated with a specified at least one level specified are executed. The embedded trace functions associated with at least one level not comprising one of the at least one specified level are not invoked.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for implementing trace functions in code, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising: embedding a plurality of trace functions in the code; for each embedded trace function, including a trace level indicating one of a plurality of levels associated with software life cycle modes at which the code is executed to which the trace function applies, wherein the embedded trace functions are associated with at least first, second, and third levels associated with the software life cycle modes, including a development mode during which the code is debugged and tested during development at a developer site, and a first production mode and a second production mode, wherein the development and the first and second production modes are each associated with at least one of the first, second, and third levels, and wherein the development mode, the first production mode, and the second production mode are associated with different sets of the first, second and third levels; during execution of the code, determining one of the software life cycle modes at which the code is executed, wherein a specified level comprises at least one of the levels associated with the determined software life cycle mode; and executing the embedded trace functions associated with at least one of the levels that is compatible with at least one specified level, and wherein the embedded trace functions not associated with at least one of the levels that is compatible with one of the at least one specified level associated with one of the software life cycle modes at which the code is executed are not invoked. 2. The computer program product of claim 1 , wherein the operations further comprise: indicating an output destination for trace data produced by the trace functions, wherein the trace data includes at least one of parameters and error codes produced during execution of the code to which the embedded trace function applies, wherein the trace data is outputted to the indicated output destination in response to executing the trace function. 3. The computer program product of claim 1 , wherein the first production mode tests the code, and the second production mode debugs and tests a customer problem when the code is deployed at a customer site. 4. The computer program product of claim 1 , wherein each level provides different types of trace data that are produced by the trace functions associated with the level, wherein a first level is used for trace functions that produce trace data suitable for detection of errors at a client site, a second level is used for trace functions that produce trace data suitable for in depth debugging during development, and a third level is used for trace functions that log paths that are taken through the code. 5. The computer program product of claim 4 , wherein the first level is associated with trace functions that produce trace data indicating at least one of major events, hardware turned on/off, hardware status at key times, registers of importance, and changing machine states, wherein the second level is associated with trace functions that produce trace data indicating at least one of pointers, contents of memory, register values, variable values, important paths, and data transfers between external and internal components, and wherein the third level is associated with trace functions that produce trace data indicating at least one of log paths at function entry points, exit points, if-then-else paths, and switch paths. 6. The computer program product of claim 1 , wherein the operations further comprise: for each trace function processed in the code during execution, performing: executing the processed trace function in response to the level indicated for the processed trace function being one of the at least one specified level; outputting trace data in response to executing the processed trace function including information on code operations; and bypassing the processed trace function without executing the processed trace function in response to the level indicated for the processed trace function not being one of the at least one specified level. 7. The computer program product of claim 6 , wherein the operations further comprise: during runtime operations of the code, receiving an input level indicating at least one level; and for each trace function processed in the code during execution after receiving the input level, performing: executing the processed trace function in response to the level indicated for the processed trace function being one of the at least one specified level; outputting trace data in response to executing the processed trace function including information on code operations; and bypassing the processed trace function without executing the processed trace function in response to the at least one level indicated for the processed trace function not being one of the at least one specified level. 8. A system, comprising: a processor; a computer readable storage medium including code that when executed by the processor performs operations, the operations comprising: embedding a plurality of trace functions in code; for each embedded trace function, including a trace level indicating one of a plurality of levels associated with different software cycle modes at which the code is executed to which the trace function applies, wherein the embedded trace functions are associated with a first, second, and third levels associated with software life cycle modes, including a development mode during which the code is debugged and tested during development at a developer site, and a first production mode and a second production mode, wherein the development and the first and second production modes are each associated with at least one of the first, second, and third levels, and wherein the development mode, the first production mode, and the second production mode are associated with different sets of the first, second and third levels; during execution of the code, determining one of the software life cycle modes at which the code is executed, wherein a specified level comprises at least one of the levels associated with the determined software life cycle mode; and executing the embedded trace functions associated with at least one of the levels that is compatible with one of at least one specified level, and wherein the embedded trace functions not associated with at least one of the levels that is compatible with one of the at least one specified level associated with the software life cycle mode at which the code is executed are not invoked. 9. The system of claim 8 , wherein the operations further comprise: indicating an output destination for trace data produced by the trace functions, wherein the trace data includes at least one of parameters and error codes produced during execution of the code to which the embedded trace function applies, wherein the trace data is outputted to the indicated output destination in response to executing the trace function. 10. The system of claim 8 , wherein the operations further comprise: for each trace function processed in the code during execution, performing: executing the processed trace function in response to the level indicated for the processed trace function being one of the at least one specified level; outputting trace data in response to executing the processed trace function including information on code operations; and bypassing the processed trace function without executing the processed trace function in response to the

Assignees

Inventors

Classifications

  • by tracing the execution of the program · CPC title

  • G06F11/364Primary

    tracing values on a bus · CPC title

  • Environments for analysis, debugging or testing of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9367427B2 cover?
Provided are a computer program product, system, and method for embedding and executing trace functions in code to gather trace data. A plurality of trace functions are embedded in the code. For each embedded trace function, a trace level is included indicating code to which the trace applies. The trace level comprises one of a plurality of levels. During the execution of the code, the embedded…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3636. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).