IP Library Granted Patent US 12,235,751
Granted Patent B2
US 12,235,751 · App. 17/993,624 · Granted Feb 25, 2025

Application debugging method, apparatus, device, and medium

Inventors: Yawei Wang (Shanghai, CN); Noam Peretz (Hod Hasharon, IL); Guy Segev (Hod Hasharon, IL); Eviatar Huta (Hod Hasharon, IL); Wei Ye (Hangzhou, CN); Qian Wang (Hangzhou, CN)
Assignee: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
G06F11/3664
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 12,235,751
App. No.
17/993,624
Granted
Feb 25, 2025
Kind
B2
Abstract

An application debugging method includes an interaction sub-system receiving identifiers of a plurality of application sub-modules that are input or selected by a user, creating debug sessions that are in a one-to-one correspondence with the plurality of application sub-modules, and then generating a plurality of debugging request messages based on the plurality of debug sessions. Each debugging request message is routed by the routing sub-system to an agent of an application sub-module requested to be debugged, to request debugging of a code block of the corresponding application sub-module.

Claims (43)

1. A method, comprising:

receiving, by an interaction sub-system of an application debugging system, identifiers of a plurality of application sub-modules from a user, wherein a code block comprised in each of the application sub-modules is for implementing a function of an application;

creating, by the interaction sub-system, a plurality of debug sessions, wherein the debug sessions are in a one-to-one correspondence with the application sub-modules;

generating, by the interaction sub-system and based on the plurality of debug sessions, a plurality of debugging request messages by:

deleting standard message headers of a plurality of original debugging request messages; and

adding updated message headers to the plurality of original debugging request messages, wherein the updated message headers comprise a global debug session identifier and debug session identifiers; and

routing, by a routing sub-system of the application debugging system, the debugging request messages to agents of the application sub-modules to request debugging of code blocks.

2. The method of claim 1 , wherein each debug session comprises one of the debug session identifiers, and wherein generating, by the interaction sub-system and based on the plurality of debug sessions, the plurality of debugging request messages further comprises generating, by the interaction sub-system and based on the identifiers, the plurality of original debugging request messages.

3. The method of claim 2 , further comprising creating, by the interaction sub-system, a global debug session, wherein the global debug session comprises the global debug session identifier and corresponds to the plurality of debug sessions, and wherein adding the updated message headers comprises adding, by the interaction sub-system, the global debug session identifier to the plurality of original debugging request messages to obtain the plurality of debugging request messages.

4. The method of claim 1 , further comprising receiving, by the interaction sub-system, a plurality of debugging response messages, wherein the debugging response messages are in a one-to-one correspondence with debugging request messages.

5. The method of claim 1 , wherein before routing, by the routing sub-system of the application debugging system, each debugging request message to the agent of one of the application sub-modules, the application debugging method further comprises establishing, by the interaction sub-system, a persistent connection to the routing sub-system.

6. The method of claim 1 , further comprising discarding, by the interaction sub-system, a received debugging request message when a persistent connection to the routing sub-system fails to be established.

7. The method of claim 1 , further comprising disconnecting, by the interaction sub-system, a persistent connection to the routing sub-system when the plurality of debug sessions is closed.

8. The method of claim 1 , wherein deleting the standard message headers comprises deleting debug adapter protocol (DAP) headers of the original debugging request messages.

9. A method, comprising:

receiving a plurality of original debugging request messages, wherein each original debugging request message is for requesting to debug one of a plurality of application sub-modules of an application, and wherein a code block comprised in each application sub-module is for implementing a function of the application;

creating a plurality of debug sessions, wherein the debug sessions are in a one-to-one correspondence with the application sub-modules;

generating, based on debug session identifiers corresponding to the plurality of debug sessions and the plurality of original debugging request messages, a plurality of debugging request messages by:

deleting standard message headers of the plurality of original debugging request messages; and

adding updated message headers to the plurality of original debugging request messages, wherein the updated message headers comprise a global debug session identifier and the debug session identifiers; and

sending the plurality of debugging request messages.

10. The method of claim 9 , further comprising receiving a plurality of debugging response messages, wherein the debugging response messages are in a one-to-one correspondence with debugging request messages.

11. The method of claim 10 , further comprising:

deleting message headers of the plurality of debugging response messages, wherein the message headers comprise the debug session identifiers; and

adding the standard message headers to the plurality of debugging response messages.

12. The method of claim 9 , wherein before sending the plurality of debugging request messages, the method further comprises establishing a persistent connection to a routing sub-system.

13. The method of claim 9 , further comprising discarding a received debug request message when a persistent connection to a routing sub-system fails to be established.

14. The method of claim 9 , further comprising disconnecting a connection to the routing sub-system when the plurality of debug sessions is closed.

15. The method of claim 9 , wherein deleting the standard message headers comprises deleting debug adapter protocol (DAP) headers of the original debugging request messages.

16. A device, comprising:

a memory configured to store instructions; and

one or more processors coupled to the memory and configured to execute the instructions to:

receive identifiers of a plurality of application sub-modules from a user, wherein a code block comprised in each of the application sub-modules is for implementing a function of an application;

create a plurality of debug sessions, wherein the debug sessions are in a one-to-one correspondence with the application sub-modules; and

generate, based on the plurality of debug sessions, a plurality of debugging request messages, wherein each debugging request message is configured to be routed by a routing sub-system to an agent of one of the application sub-modules to request debugging of the code block corresponding to the one of the application sub-modules, and wherein generating the plurality of debugging request message comprises:

deleting standard message headers of a plurality of original debugging request messages; and

adding updated message headers to the plurality of original debugging request messages, wherein the updated message headers comprise a global debug session identifier and debug session identifiers.

17. The device of claim 16 , wherein the one or more processors are further configured to execute the instructions to generate the plurality of original debugging request messages.

18. The device of claim 17 , wherein the one or more processors are further configured to execute the instructions to:

create a global debug session, wherein the global debug session comprises the global debug session identifier and corresponds to the plurality of debug sessions; and

add the global debug session identifier to the plurality of original debug request messages to obtain the plurality of debugging request messages.

19. The device of claim 16 , wherein the one or more processors are further configured to execute the instructions to receive a plurality of debugging response messages, and wherein the debugging response messages are in a one-to-one correspondence with the debugging request messages.

20. The device of claim 16 , wherein the one or more processors are further configured to execute the instructions to delete debug adapter protocol (DAP) headers of the original debugging request messages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2025
From: WANG, YAWEI; PERETZ, NOAM; SEGEV, GUY; HUTA, EVIATAR; YE, WEI; WANG, QIAN
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 069941/0116 →
Priority Claims (2)
CN 202010456122.7 · May 26, 2020 · national
CN 202010940931.5 · Sep 9, 2020 · national
Continuity (2)
Continuation PCTCN2021100195 · Jun 15, 2021
Related Publication 20230087995A1 · Mar 23, 2023
References Cited (19)
US 6941492B1 · Ezra et al. · 2005 [cited by applicant]
US 20020199173A1 · Bowen · 2002 [cited by applicant]
US 20030051026A1 · Carter · 2003 [cited by examiner]
US 20060048098A1 · Gatlin · 2006 [cited by examiner]
US 20070113218A1 · Nolan et al. · 2007 [cited by applicant]
US 20080133337A1 · Fletcher · 2008 [cited by examiner]
US 20080301502A1 · Harsha et al. · 2008 [cited by applicant]
US 20120151452A1 · Zinkovsky et al. · 2012 [cited by applicant]
US 20120320912A1 · Estrada · 2012 [cited by examiner]
US 20150169434A1 · De Angelis et al. · 2015 [cited by applicant]
US 20160239162A1 · Sivasubramanian et al. · 2016 [cited by applicant]
US 20180077062A1 · Park · 2018 [cited by examiner]
US 20190213355A1 · Raviv et al. · 2019 [cited by applicant]
CN 102222043A · 2011 [cited by applicant]
CN 107977304A · 2018 [cited by applicant]
CN 109343878A · 2019 [cited by applicant]
CN 110297749A · 2019 [cited by applicant]
CN 110489297A · 2019 [cited by applicant]
Li Lingling et al., Research and design of software testing process control systems, Software Guide, Apr. 2011, with an English abstract 4 pages. [cited by applicant]