Executable high-level trace file generation system
First Claim
1. A system, comprising a processor coupled to a memory for storing program instructions for execution by the processor, wherein the program instructions comprise program instructions for:
- controlling execution of an instruction stream that invokes a sequence of high-level procedures automatically and without user intervention, wherein the executable instruction stream is a binary instruction stream and the invocation of the sequence of high-level procedures is a sequence of function calls performed by the executable instruction stream; and
generating a trace file during execution of the executable instruction stream that represents invocations of the high-level procedure invocations as a human-readable script that can be executed to repeat the invocation of the sequence of high-level procedures, wherein the trace file is generated such that return parameters supplied from the high-level procedures to the executable instruction stream are documented in the trace as comments;
editing the trace file to alter a behavior specified by the trace file to alter the sequence of the high-level procedures; and
responsive to a subsequent command, executing the trace file as a script to reproduce at least part of the behavior of the executable instruction stream as modified by the editing of the trace file.
1 Assignment
0 Petitions
Accused Products
Abstract
An executable high-level trace file generation system provides reduced debugging effort and time, particularly on initial startup of new or modified hardware. An executable program invokes high-level application programming interfaces (APIs), to perform various tasks. Instructions within the APIs generate a trace file documenting the invoked sequence of APIs by writing a line to a trace file that documents the API and input parameters received by the API. Upon completion of execution of the API, the return value may be documented as a comment line in the trace file. The resulting trace file is then re-executable as a script and may be edited to alter the sequence of APIs invoked and/or the arguments provided. The script interpreter may be a command line interface through which the APIs are invoked, and trace files may be similarly generated that document sequences of manually entered commands.
16 Citations
16 Claims
-
1. A system, comprising a processor coupled to a memory for storing program instructions for execution by the processor, wherein the program instructions comprise program instructions for:
-
controlling execution of an instruction stream that invokes a sequence of high-level procedures automatically and without user intervention, wherein the executable instruction stream is a binary instruction stream and the invocation of the sequence of high-level procedures is a sequence of function calls performed by the executable instruction stream; and generating a trace file during execution of the executable instruction stream that represents invocations of the high-level procedure invocations as a human-readable script that can be executed to repeat the invocation of the sequence of high-level procedures, wherein the trace file is generated such that return parameters supplied from the high-level procedures to the executable instruction stream are documented in the trace as comments; editing the trace file to alter a behavior specified by the trace file to alter the sequence of the high-level procedures; and responsive to a subsequent command, executing the trace file as a script to reproduce at least part of the behavior of the executable instruction stream as modified by the editing of the trace file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a computer readable storage device storing program instructions for execution by a processor, the program instructions comprising:
-
program instructions for controlling execution of an executable instruction stream that invokes a sequence of high-level procedures automatically and without user intervention, wherein the executable instruction stream is a binary instruction stream and the invocation of the sequence of high-level procedures is a sequence of function calls performed by the executable instruction stream; and program instructions for generating a trace file during execution of the executable instruction stream that represents invocations of the high-level procedure invocations as a human-readable script that can be executed to repeat the invocation of the sequence of high-level procedures, wherein the trace file is generated such that return parameters supplied from the high-level procedures to the executable instruction stream are documented in the trace file as comments; program instructions for editing the trace file to alter a behavior specified by the trace file to alter the sequence of high-level procedures; and program instructions for, responsive to a subsequent command, executing the trace file as a script to reproduce at least part of the behavior of the executable instruction stream as modified by the editing of the trace file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification