# US 11,307,966 B2 · Shared software debugging service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,966 B2
- Document ID: US11307966B2
- Status: Granted
- Kind: B2
- Application number: 16/841,077
- Filed: 2020-04-06
- Published: 2021-10-07
- Granted: 2022-04-19
- Earliest claimed: 2020-04-06
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Boris Odnopozov; Mordechay Asayag
- Web page: https://patentgrep.com/patent/US11307966B2

## CPC

- G06F 11/366: {using diagnostics (G06F11/0703 takes precedence)}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 9/54: Interprogram communication
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/3644: {by instrumenting at runtime}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A shared debugging service stores information captured during software debug sessions for future use. The information can include developer identities so that future developers can contact past developers for assistance. The information can also include information such as developer steps, user settings, path-to-current code specifics, and stored breakpoint values. A developer can request a record of previous software debug sessions for a given piece of software and can acquire, store, or display previously collected information to assist in a current software debug session.

## Claims

### Claim 1

A system comprising:
a processing device; and
at least one memory device including instructions that are executable by the processing device for causing the processing device to perform operations comprising:
collecting information provided by a background process executing concurrently on a client processing device with a current software debug session executing as a foreground process, the information including an identity of a developer associated with the current software debug session, developer steps, user settings and breakpoint information;
receiving an authorization indicator from the client processing device during the current software debug session, the authorization indicator configured to specify in a future software debug session whether the breakpoint information includes live breakpoint values restricted based on a presence of personal data; and
storing the information in a shared debugging service, the information being accessible during the future software debug session that is separate from the current software debug session for display by a client processing device so that at least portions of the information are displayable at execution breakpoints corresponding to those of the current software debug session.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
receiving a request for a record of the information during the future software debug session, the record including at least some of the information;
retrieving the record from the shared debugging service in response to the request; and
transmitting the record during the future software debug session so as to be displayable during the future software debug session on the client processing device.

### Claim 3 (depends on 2)

The system of claim 2, wherein the breakpoint information further comprises stored breakpoint values.

### Claim 4 (depends on 2)

The system of claim 2, wherein instructions further comprise an application programming interface for an integrated development environment (IDE) and wherein the record is provided through the API for display in the IDE.

### Claim 5 (depends on 4)

The system of claim 4, wherein the system further comprises the client processing device configured to interactively display the identity of the developer in a list of developer identities and display details of the current software debug session in response to a selection of the identity of the developer in a user interface of the IDE.

### Claim 6

A method comprising:
collecting, by a server, information sent by a client processing device during a previous software debug session, the information including an identity of a developer associated with the previous software debug session, developer steps, user settings, breakpoint information, and an authorization indicator input at the client processing device during the previous software debug session, the authorization indicator specifying whether live breakpoint values in the breakpoint information are restricted based on a presence of personal data;
storing, by the server, the information in a shared debugging service, the information being accessible at least during a future software debug session that is different than the previous software debug session;
receiving, by the server, a request from the client processing device for a record of the information, the request associated with the future software debug session; and
transmitting, by the server, the record of the information to the client processing device for display so that at least portions of the record are displayable at execution breakpoints during the future software debug session corresponding to those of the previous software debug session.

### Claim 7 (depends on 6)

The method of claim 6, wherein the breakpoint information further comprises stored breakpoint values.

### Claim 8 (depends on 6)

The method of claim 6, wherein the information includes a path-to-current code.

### Claim 9 (depends on 6)

The method of claim 6, wherein the record is provided to a debug console being executed by the client processing device.

### Claim 10 (depends on 6)

The method of claim 6, wherein the record is provided through an application programming interface for display in an integrated development environment (IDE) being executed by the client processing device.

### Claim 11 (depends on 10)

The method of claim 10, wherein the information includes session information from a plurality of previous software debug sessions, and the method further comprises listing the plurality of previous software debug sessions for selection in a user interface of the IDE.

### Claim 12

A non-transitory computer-readable medium comprising program code that is executable by a processing device for causing the processing device to:
collect information during a previous software debug session, the information including an identity of a developer associated with the previous software debug session, developer steps, user settings, breakpoint information, and an authorization indicator input during the previous software debug session, the authorization indicator specifying whether live breakpoint values in the breakpoint information are restricted based on a presence of personal data;
transmit the information to a shared debugging service;
transmit a request to the shared debugging service during a future software debug session for a record of the information, the future software debug session being separate from the previous software debug session;
receive the record from the shared debugging service; and
display at least portions of the record during the future software debug session at execution breakpoints corresponding to those of the previous software debug session.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the breakpoint information further comprises stored breakpoint values.

### Claim 14 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the information includes a path-to-current code.

### Claim 15 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the record is configured to be received through an application programming interface and displayed in an integrated development environment (IDE).

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the information includes session information from a plurality of previous software debug sessions, and the program code is further executable for causing the processing device to list the plurality of previous software debug sessions for selection in a user interface of the IDE.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the program code is further executable for causing the processing device to display details of one of the plurality of previous software debug sessions in response to the selection.
