IP Library › Granted Patent US 10,169,197
Granted Patent B2
US 10,169,197 · App. 15/413,506 · Granted Jan 1, 2019

Temporary breakpoints during debug process

Inventors: Eric L. Barsness (Pine Island, MN); Jay S. Bryant (Rochester, MN); James E. Carey (Rochester, MN); Joseph W. Cropper (Rochester, MN); John M. Santosuosso (Rochester, MN)
Assignee: International Business Machines Corporation
G06F11/3636G06F11/3612G06F11/3632
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,169,197
App. No.
15/413,506
Granted
Jan 1, 2019
Kind
B2
Abstract

A method for debugging an executable is disclosed herein. The method begins by receiving one or more breakpoints related to a call stack in the executable. The processor receives an executable in a debug environment. The processor executes an executable until one or more breakpoints are hit. Upon detecting a breakpoint, the processor temporarily halts executing by transferring control to an analysis tool to gather information related to execution of the executable up to the breakpoint. The analysis tool gathers one or more predefined outliers. The processor receives control back from the analysis tool to continue execution in response to the analysis tool collecting relevant information in the executable.

Claims (58)

1. A method of debugging an executable, comprising:

receiving one or more breakpoints related to a call stack in the executable;

receiving an executable in a debug environment;

executing the executable until one or more breakpoints are hit;

upon detecting a breakpoint, temporarily halting executing comprising transferring control to an analysis tool within the debug environment to gather information related to execution of the executable up to the breakpoint,

wherein the analysis tool performs an operation to gather data relating to the execution of the executable without requiring user interaction, the operation comprising:

gathering information related to execution of the executable of the breakpoint;

analyzing the information that was gathered;

identifying one or more outliers within the information, wherein the one or more outliers are identified as one or more data values for one or more parameters within the information that exceed a predefined number of standard deviations for the one or more parameters; and

automatically logging the identified one or more outliers; and

receiving control back from the analysis tool to continue execution in response to the analysis tool collecting relevant information in the executable.

2. The method of claim 1 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool comprises:

launching an exit program configured to transfer control from the debug environment to the analysis tool.

3. The method of claim 1 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool comprises:

transferring control to the analysis tool within the debug environment.

4. The method of claim 1 , wherein filtering the information to determining whether the information includes one or more outliers, comprises:

determining whether the information includes one or more strings that are not null.

5. The method of claim 1 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool, comprises:

transferring control out of the debug environment to the analysis tool.

6. A system, comprising:

a computer processor; and

a memory containing a program that, when executed on the computer processor, performs an operation, comprising:

receiving one or more breakpoints related to a call stack in the executable;

receiving an executable in a debug environment;

executing the executable until one or more breakpoints are hit;

upon detecting a breakpoint, temporarily halting executing comprising transferring control to an analysis tool within the debug environment to gather information related to execution of the executable up to the breakpoint,

wherein the analysis tool performs an operation to gather data relating to the execution of the executable without requiring user interaction, the operation comprising:

gathering information related to execution of the executable of the breakpoint;

analyzing the information that was gathered;

identifying one or more outliers within the information, wherein the one or more outliers are identified as one or more data values for one or more parameters within the information that exceed a predefined number of standard deviations for the one or more parameters; and

automatically logging the identified one or more outliers; and

receiving control back from the analysis tool to continue execution in response to the analysis tool collecting relevant information in the executable.

7. The system of claim 6 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool comprises:

launching an exit program configured to transfer control from the debug environment to the analysis tool.

8. The method of claim 6 , wherein filtering the information to determining whether the information includes one or more outliers, comprises:

determining whether the information includes data that exceeds a predefined standard deviation value for one or more parameters.

9. The method of claim 6 wherein filtering the information to determining whether the information includes one or more outliers, comprises:

determining whether the information includes one or more strings that are not null.

10. The method of claim 6 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool, comprises:

transferring control out of the debug environment to the analysis tool.

11. A computer program product for analyzing a heap following a core dump, the computer program product comprising:

a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to:

receive one or more breakpoints related to a call stack in the executable;

receive an executable in a debug environment;

execute the executable until one or more breakpoints are hit;

upon detecting a breakpoint, temporarily halting executing comprising transferring control to an analysis tool within the debug environment to gather information related to execution of the executable up to the breakpoint,

wherein the analysis tool performs an operation to gather data relating to the execution of the executable without requiring user interaction, the operation comprising:

gathering information related to execution of the executable of the breakpoint;

analyzing the information that was gathered;

identifying one or more outliers within the information, wherein the one or more outliers are identified as one or more data values for one or more parameters within the information that exceed a predefined number of standard deviations for the one or more parameters; and

automatically logging the identified one or more outliers; and

receiving control back from the analysis tool to continue execution in response to the analysis tool collecting relevant information in the executable.

12. The computer program product of claim 11 , wherein upon detecting a breakpoint, temporarily halting executing by transferring control to an analysis tool comprises:

launching an exit program configured to transfer control from the debug environment to the analysis tool.

13. The computer program product of claim 11 , wherein filtering the information to determining whether the information includes one or more outliers, comprises:

determining whether the information includes data that exceeds a predefined standard deviation value for one or more parameters.

14. The computer program product of claim 11 wherein filtering the information to determining whether the information includes one or more outliers, comprises:

determining whether the information includes one or more strings that are not null.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: BARSNESS, ERIC L; BRYANT, JAY S; CAREY, JAMES E; CROPPER, JOSEPH W; SANTOSUOSSO, JOHN M
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041056/0469 →
Continuity (1)
Related Publication 20180210813A1 · Jul 26, 2018