IP Library Granted Patent US 9,582,396
Granted Patent B2
US 9,582,396 · App. 12/604,777 · Granted Feb 28, 2017

Techniques for generating an executable debugger script

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,582,396
App. No.
12/604,777
Granted
Feb 28, 2017
Kind
B2
Abstract

Techniques for debugging are presented. Executable instructions, as they are executed, along with variable values, as they appear when being processed, are output as an executable instruction set when an executable application comprising the executable instructions are processed. The outputted executable instruction set includes the processing flow sequence that occurred within the executable application when the executable application was processed.

Claims (16)

1. A processor-implemented method to execute on a processor, the processor configured to perform the method comprising:

compiling a source file for an application to produce a compiled file;

linking the compiled file to produce an executable application for the application;

generating an executable instruction set during the compiling and linking performed by a compiler and a linker, respectively, the executable instruction set having the instruction flow sequence for each instruction of the executable application and each instruction of the instruction set mapped by that executable instruction to a particular source code statement from the source file representing the application before it was compiled and linked into the executable application for a particular instruction of the executable application, the executable instruction set provides debugging of the executable application when the executable application is executed and the executable instruction set is independent of the executable application, the executable instruction set is activated and executed when the executable application is executed, and wherein the executable application does not include any pre-compile debugging statements, and wherein the executable instruction set is a separate script that is independently processed when the executable application is processed based on a parameter passed to the executable application; and

wherein when the executable is initiated on the processor for execution, identifying a runtime parameter passed with input parameters to the executable instructions and in response to the runtime parameter activating the executable instruction set, and outputting, via the executable instruction set, each executed instruction processed by the executable application as a source code statement with input parameters and variable values for that executed instruction.

2. The method of claim 1 , wherein outputting further includes outputting entering values for the variable values that identifies assignment values for the variable values before the executed instruction is processed by the executed application and outputting exit values for the variable values that identifies assignment values for the variable values after the executed instruction is processed.

3. The method of claim 1 further comprising, producing an output file, via the executable instruction set, the output file having each executed instruction mapped to a source code statement along with variable values occurring at that executed instruction, the output file produced when the executable application is processed by the processor.

4. The method of claim 1 , wherein generating further includes monitoring the compiler and the link loader to generate the executable instruction set.

5. The method of claim 1 , wherein generating further includes generating the executable instruction set as an integrated debugging feature of the executable application.

6. A debugging system implemented on one or more processors, comprising:

a mapper implemented in a computer-readable storage medium and to process on one or more of the processors of a network, wherein the mapper includes an executable script; and

a debugger implemented in a computer-readable storage medium and to process on one or more of the processors of the network; the mapper is configured to map executable instructions from an executable application to source code statements associated with the executable instructions in a flow sequence that appears in the executable application when the executable application is executed, and the debugger is configured to produce output when the executable application is processed by processing the mapper with the executable application, the output depicting each source code statement processed in the executable application along with variable values as those variable values are assigned by the executable application during execution of the executable application to a particular executable instruction executed from the executable application that assigned the variable values, and each executable instruction of executable instruction set for the mapper maps to a particular source code statement from a source file representing an original application as source code before it was compiled and link loaded into the executable application and each executable instruction of the executable application, wherein the mapper is independent of the executable instructions for executable application, and wherein the executable application does not include any pre-compile debugging statements, and wherein the mapper is a separate script that is independently processed when the executable instructions of the executable application is processed, and the executable script is generated during compiling and linking the source code statements when producing the executable instructions for the executable application, and the debugger processes the executable script representing the mapper when the executable application is executed based on the particular input parameter being passed with initiation of the executable application.

7. The system of claim 6 , wherein the debugger is configured to be activated via a processing option passed to the executable application when that executable application is processed.

8. The system of claim 6 , wherein the debugger is configured to activate the executable application for processing.

9. The system of claim 6 , wherein the debugger is configured to depict the source code statements in the flow sequence along with the variable values within a graphical user interface and on a display device associated with the one or more processors.

10. The system of claim 9 , wherein the debugger is configured to pipe the source code statements in the flow sequence with the variable values to a different executable application for further analysis by that different executable application.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2009
From: PUJALA, RAJASEKHARAM NAIDU; THIRUPATHI, VIJAY KUMAR ALUR
To: NOVELL, INC.
Reel/Frame 023545/0119 →