IP Library Granted Patent US 10,162,730
Granted Patent B2
US 10,162,730 · App. 15/413,725 · Granted Dec 25, 2018

System and method for debugging software in an information handling system

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 10,162,730
App. No.
15/413,725
Granted
Dec 25, 2018
Kind
B2
Abstract

A method of debugging software code in an information handling system (IHS) is disclosed. The method includes establishing communications between a debug computer and a target computer and triggering the target computer to collect and transmit a plurality of symptom and root cause (SARC) values associated with the software code. The SARC values are compared to SARC reference values associated with the software code. The method further includes determining if the SARC values meet the requirements of the SARC reference values. In response to the SARC values not meeting the requirements of the SARC reference values, at least one process associated with the SARC values that do not meet the requirements of the SARC reference values is identified. Process data corresponding to the at least one process is collected and a SARC diagnosis report is generated for the software code based on the process data.

Claims (64)

1. A method of debugging software code in an information handling system (IHS), the method comprising:

establishing, by a processor of a debug computer, communications between the debug computer and a target computer via a communications network:

retrieving, via the debug computer, a plurality of symptom and root cause (SARC) parameters, a SARC program, and

a test program containing the software code:

transmitting, via the communications network, the SARC parameters and the test program to the target computer:

triggering the target computer to run the test program;

triggering the target computer to initialize the SARC program on the target computer;

triggering the target computer to collect and transmit, to the debug computer via the communications network, a plurality of SARC values associated with the software code executing on the target computer;

comparing, by the processor of the debug computer, the SARC values to a plurality of SARC reference values associated with the software code;

determining if the SARC values meet requirements of the SARC reference values; in response to the SARC values not meeting the requirements of the SARC reference values,

identifying at least one process associated with the SARC values that do not meet the requirements of the SARC reference values;

collecting process data corresponding to the at least one process executing at the target computer; and

generating and outputting a SARC diagnosis report for the software code based on the process data.

2. The method of claim 1 , further comprising:

determining if the target computer has detected a problem with the software code; and

in response to determining that the target computer has detected a problem with the software code, stopping the test program.

3. The method of claim 1 , further comprising:

storing the SARC diagnosis report to a system memory.

4. The method of claim 1 , wherein the SARC parameters include at least one of (i) a plurality of components, (ii) a plurality of discrete checkpoints, and (iii) a plurality of exit rules.

5. The method of claim 4 , wherein the plurality of discrete checkpoints comprise a number of permanent threads, a number of transitory threads, and a number of resources created.

6. The method of claim 4 , wherein the plurality of exit rules comprise a timeout rule and a resource release rule.

7. An information handling system (IHS) comprising:

a network interface device; and

a processor communicatively coupled to a system memory and to the network interface device, the processor having firmware executing thereon to enable debugging software code in the IHS, wherein the firmware configures the processor to operate as a debug computer and to:

establish communications between the debug computer and a target computer via a communication network;

retrieve a plurality of symptom and root cause (SARC) parameters, a SARC program and a test program containing the software code;

transmit the SARC parameters and the test program to the target computer via the communication network;

trigger the target computer to run the test program;

trigger the target computer to initialize the SARC program on the target computer;

trigger the target computer to collect and transmit a plurality of SARC values associated with the software code;

compare the SARC values to a plurality of SARC reference values associated with the software code;

determine if the SARC values meet the requirements of the SARC reference values;

in response to the SARC values not meeting the requirements of the SARC reference values,

identify at least one process associated with the SARC values that do not meet the requirements of the SARC reference values;

collect process data corresponding to the at least one process; and

generate and output a SARC diagnosis report for the software code based on the process data.

8. The information handling system of claim 7 , wherein the firmware further configures the processor to:

determine if the target computer has detected a problem with the software code; and in response to determining that the target computer has detected a problem with the software code, stop the test program.

9. The information handling system of claim 7 , wherein the firmware further configures the processor to:

store the SARC diagnosis report to a system memory.

10. The information handling system of claim 7 , wherein the SARC parameters include at least one of (i) a plurality of components, (ii) a plurality of discrete checkpoints and (iii) a plurality of exit rules.

11. The information handling system of claim 10 , wherein the plurality of discrete checkpoints comprise a number of permanent threads, a number of transitory threads and a number of resources created.

12. The information handling system of claim 10 , wherein the plurality of exit rules comprise a timeout rule and a resource release rule.

13. A computer program product comprising:

a non-transitory computer readable storage device; and

program code stored on the computer readable storage device that, when executed by a processor operating within a debug computer that is communicatively connected to a target computer, configures the processor to:

establish, over a communications network, communications between the debug computer and the target computer via a network interface device of the target computer;

retrieve a plurality of symptom and root cause (SARC) parameters, a SARC program and a test program containing the software code;

transmit the SARC parameters and the test program to the target computer via the communications network;

trigger the target computer to run the test program;

trigger the target computer to initialize the SARC program on the target computer;

trigger the target computer to collect and transmit a plurality of SARC values associated with the software code;

compare the SARC values to a plurality of SARC reference values associated with the software code;

determine if the SARC values meet the requirements of the SARC reference values;

in response to the SARC values not meeting the requirements of the SARC reference values,

identify at least one process associated with the SARC values that do not meet the requirements of the SARC reference values;

collect process data corresponding to the at least one process executing at the target computer; and

generate and output a SARC diagnosis report for the software code based on the process data.

14. The computer program product of claim 13 , wherein the code, when executed by the processor, further configures the processor to:

determine if the target computer has detected a problem with the software code; and in response to determining that the target computer has detected a problem with the software code, stop the test program.

15. The computer program product of claim 13 , wherein the code, when executed by the processor, further configures the processor to:

store the SARC diagnosis report to a system memory.

16. The computer program product of claim 13 , wherein the SARC parameters include at least one of (i) a plurality of components, (ii) a plurality of discrete checkpoints and (iii) a plurality of exit rules.

17. The computer program product of claim 16 , wherein the plurality of discrete checkpoints comprise a number of permanent threads, a number of transitory threads and a number of resources created.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: KULKARNI, YOGESH P.; BIDARALLI, SANTOSH K.
To: DELL PRODUCTS, L.P.
Reel/Frame 041061/0875 →