Search

CN-122019293-A - Data processing method, debugger system and computer readable storage medium

CN122019293ACN 122019293 ACN122019293 ACN 122019293ACN-122019293-A

Abstract

The application discloses a data processing method, a debugger system and a computer readable storage medium, which belong to the technical field of chip debugging and comprise the steps of obtaining a debugging conflict tree, a debugging request and target debugging tasks corresponding to the debugging request, wherein the debugging conflict tree is a tree structure established based on the hierarchical relation of each device in a hardware device set and a preset rule among the debugging tasks corresponding to each device, each node except a root node in the debugging conflict tree is associated with at least one debugging task, the preset rule is used for representing that each debugging task is allowed to be executed or not allowed to be executed simultaneously under the preset debugging scene, the target debugging tasks belong to the preset debugging scene, and determining that the target debugging tasks are allowed to be executed or not allowed to be executed based on the target debugging tasks and the working states of the debugging tasks corresponding to each node associated with the target node corresponding to the target debugging task in the debugging conflict tree. The calculation complexity is reduced, and the processing efficiency of the debugging request is improved.

Inventors

  • LI YANG
  • XU XIAOLONG
  • ZHANG MIN

Assignees

  • 深圳市紫光同创电子股份有限公司

Dates

Publication Date
20260512
Application Date
20260113

Claims (14)

  1. 1. A data processing method, applied to a client of a debugger system, the debugger system further comprising a set of hardware devices connected to the client, the method comprising: Acquiring a debugging conflict tree, a debugging request and target debugging tasks corresponding to the debugging request, wherein the debugging conflict tree is a tree structure established based on the hierarchical relation of each device in a hardware device set and preset rules among the debugging tasks corresponding to each device, each node except a root node in the debugging conflict tree is associated with at least one debugging task, the preset rules are used for representing that each debugging task is allowed to be executed or not allowed to be executed simultaneously under a preset debugging scene, and the target debugging tasks belong to the preset debugging scene; and determining whether the target debugging task is allowed to be executed or not to be executed based on the target debugging task and the working state of each debugging task corresponding to each node associated with the target node corresponding to the target debugging task in the debugging conflict tree, wherein the working state of the debugging task comprises being executed or not being executed.
  2. 2. The method of claim 1, wherein any two debug tasks associated with each node other than a root node in the debug conflict tree are not allowed to be executed simultaneously in a preset debug scenario and have no dependency, each debug task associated with a child node in the debug conflict tree depends on at least one debug task associated with a parent node of the child node, any one debug task associated with a child node in the debug conflict tree is not allowed to be executed simultaneously in a preset debug scenario, and any one debug task associated with any two sibling nodes in the debug conflict tree is allowed to be executed simultaneously in a preset debug scenario.
  3. 3. The method of claim 2, wherein the determining whether the target debug task is allowed to be executed or not allowed to be executed based on the target debug task and the operating state of each debug task corresponding to each node associated with the target node corresponding to the target debug task in the debug conflict tree comprises: determining each path which is screened out from each path which is formed by traversing the root node to the leaf node and comprises the target node as a target path; and determining whether the target debugging task is allowed to be executed or not allowed to be executed based on the working state of each debugging task associated with each node on the target path.
  4. 4. A method according to claim 3, wherein said determining whether the target debug task is allowed or not allowed based on the operational state of each debug task associated with each node on the target path comprises: if at least one node-associated debugging task is executed in each node on the target path, determining that the state of the target debugging task is not allowed to be executed; and if the debugging tasks associated with each node on the target path are not executed, determining that the state of the target debugging task is allowed to be executed.
  5. 5. A method according to claim 3, wherein said determining whether the target debug task is allowed or not allowed based on the operational state of each debug task associated with each node on the target path comprises: Judging whether the debugging tasks related to the target node exist the debugging tasks which are being executed or not; And if the debugging tasks which are associated with the target node exist in the debugging tasks which are being executed, determining that the state of the target debugging task is not allowed to be executed.
  6. 6. The method as recited in claim 5, further comprising: If all the debugging tasks associated with the target node are not executed, determining an ancestor node of the target node based on the target path; judging whether the debugging tasks associated with the ancestor nodes exist the debugging tasks which are being executed or not; and if the debugging task which is being executed exists in the debugging tasks associated with the ancestor node, determining that the state of the target debugging task is not allowed to be executed.
  7. 7. The method as recited in claim 6, further comprising: If all debugging tasks associated with the ancestor node are not executed, judging whether the target node comprises a descendant node or not based on the target path; And if the target node does not contain the descendant node, determining that the state of the target debugging task is allowed to be executed.
  8. 8. The method as recited in claim 7, further comprising: If the target node comprises a descendant node, judging whether each debugging task associated with the descendant node of the target node has the debugging task being executed or not; If the debugging task which is being executed exists in the debugging tasks associated with the descendant node of the target node, determining that the state of the target debugging task is not allowed to be executed; and if all the debugging tasks associated with the descendant nodes of the target node are not executed, determining that the state of the target debugging task is allowed to be executed.
  9. 9. The method according to any one of claims 3-8, wherein each node other than a root node in the debug conflict tree is associated with an identifier, the identifier being used to represent a debug task being executed among a plurality of debug tasks associated with the corresponding node, and before determining that the target debug task is allowed to be executed or not allowed to be executed based on an operating state of each debug task associated with each node on the target path, further comprising: And determining the working state of each debugging task associated with each node on the target path based on the identification associated with each node on the target path.
  10. 10. The method of claim 1, wherein the debugger system further comprises a server, the server being connected to the client and the set of hardware devices, respectively, and wherein after determining that the target debug task is allowed to be executed or not allowed to be executed based on the target debug task and the working state of each debug task corresponding to each node associated with the target node corresponding to the target debug task in the debug conflict tree, further comprises: If the state of the target debugging task is allowed to be executed, determining an idle target channel corresponding to the debugging request; And sending the debugging request to a server through the target channel, triggering the server to execute a target debugging task based on the debugging request, and returning target data to the corresponding target channel under the condition that the target debugging task is completed.
  11. 11. The method of claim 10, wherein after the sending the debug request to the server via the target channel, further comprising: judging whether the target channel receives target data corresponding to the debugging request or not; if the target channel receives the target data corresponding to the debugging request, outputting and displaying the target data corresponding to the debugging request; And if the target channel does not receive the target data corresponding to the debugging request, returning to execute the steps of judging whether the target channel receives the target data corresponding to the debugging request and carrying out follow-up steps.
  12. 12. The method of claim 10, wherein after the sending the debug request to the server via the target channel, further comprising: judging whether the target channel receives target data corresponding to the debugging request or not; if the target channel receives the target data corresponding to the debugging request, outputting and displaying the target data corresponding to the debugging request; if the target channel does not receive the target data corresponding to the debugging request, judging whether a new debugging request is received or not; and if a new debugging request is received, returning to execute and acquire the debugging conflict tree, the debugging request, a target debugging task corresponding to the debugging request and subsequent operations.
  13. 13. A debugger system, comprising: the system comprises a client, a server and a hardware device set; the server is connected with the client and the hardware equipment set respectively; the client comprises a processor and a memory; the memory stores one or more applications configured to be executed by the processor, the one or more applications configured to perform the method of any of claims 1-12.
  14. 14. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a program code, which is callable by a processor for executing the method according to any one of claims 1-12.

Description

Data processing method, debugger system and computer readable storage medium Technical Field The present application relates to the field of chip debugging technologies, and in particular, to a data processing method, a debugger system, and a computer readable storage medium. Background In the design of a debugger system, a client is computer equipment at a higher level, and functions of man-machine interaction, debugging task scheduling and arbitration are achieved. On the one hand, it is responsible for efficiently and reliably receiving and parsing diverse debug requests issued from user interfaces or automation scripts, and on the other hand, it acts as a coordinator, ensuring that the requests remain strictly sequential when executed, avoiding race conditions or logical conflicts. The current design of clients lacks a systematic debug request conflict management mechanism, when a new debug request arrives, because there is no set of explicit search rules to determine its feasibility, it is necessary to traverse all executing debug tasks and make a feasible decision to determine if the new request has a logical or resource conflict with any ongoing debug task. The client program realized based on the method is complex, the time complexity is O (N), and frequent traversal operation becomes a performance bottleneck under high concurrent request. In addition, from the development point of view, adding a new debug operation needs to define its relationship with all existing debug operations, which involves global modification of the feasibility traversal judging function, is easy to introduce errors, and has poor expansibility. Disclosure of Invention The application provides a data processing method, a debugger system and a computer readable storage medium, so as to improve the defects. In a first aspect, the application provides a data processing method, applied to a client of a debugger system, wherein the debugger system further comprises a hardware device set connected with the client, the method comprises the steps of obtaining a debugging conflict tree, a debugging request and target debugging tasks corresponding to the debugging request, wherein the debugging conflict tree is a tree structure established based on a hierarchical relation of each device in the hardware device set and preset rules among the debugging tasks corresponding to each device, each node except a root node in the debugging conflict tree is associated with at least one debugging task, the preset rules are used for representing that each debugging task is allowed to be executed or not allowed to be executed simultaneously in a preset debugging scene, the target debugging tasks belong to the preset debugging scene, and determining that the target debugging tasks are allowed to be executed or not allowed to be executed based on the working states of the debugging tasks corresponding to each node associated with the target debugging task in the debugging conflict tree, and the working states of the target debugging tasks comprise that the target debugging tasks are allowed to be executed or not allowed to be executed. Optionally, for a possible implementation manner, any two debug tasks associated with each node except the root node in the debug conflict tree are not allowed to be executed simultaneously in a preset debug scene and have no dependency, each debug task associated with a child node in the debug conflict tree depends on at least one debug task associated with a parent node of the child node, any one debug task associated with a child node in the debug conflict tree and any one debug task associated with a parent node of the child node are not allowed to be executed simultaneously in the preset debug scene, and any one debug task associated with any two sibling nodes in the debug conflict tree is allowed to be executed simultaneously in the preset debug scene. Optionally, for a possible implementation manner, the determining that the target debug task is allowed to be executed or not allowed to be executed based on the target debug task and the working states of the debug tasks corresponding to the nodes associated with the target node corresponding to the target debug task in the debug conflict tree includes determining that each path including the target node and selected from paths formed by traversing the root node to leaf nodes is a target path, and determining that the target debug task is allowed to be executed or not allowed to be executed based on the working states of the debug tasks associated with the nodes on the target path. Optionally, for a possible implementation manner, the determining that the target debug task is allowed to be executed or not based on the working states of the debug tasks associated with the nodes on the target path includes determining that the state of the target debug task is not allowed to be executed if at least one debug task associated with the nodes on the target path is execu