CN116775442A - Software debugging system - Google Patents

Software debugging system Download PDF

Info

Publication number
CN116775442A
CN116775442A CN202210234134.4A CN202210234134A CN116775442A CN 116775442 A CN116775442 A CN 116775442A CN 202210234134 A CN202210234134 A CN 202210234134A CN 116775442 A CN116775442 A CN 116775442A
Authority
CN
China
Prior art keywords
debugging
software
debugged
database
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210234134.4A
Other languages
Chinese (zh)
Inventor
吴乾邺
陈文坛
夏人康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hejian Industrial Software Group Co Ltd
Original Assignee
Shanghai Hejian Industrial Software Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hejian Industrial Software Group Co Ltd filed Critical Shanghai Hejian Industrial Software Group Co Ltd
Priority to CN202210234134.4A priority Critical patent/CN116775442A/en
Publication of CN116775442A publication Critical patent/CN116775442A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a software debugging system, which comprises a front end interface, a general debugger, a software simulator, a hardware simulator and a virtual prototype platform; the universal debugger comprises a software simulation debugging interface, a hardware simulation debugging interface, a virtual prototype debugging interface, a backtracking debugging interface and a database, wherein the software simulator is connected with the software simulation debugging interface, the hardware simulator is connected with the hardware simulation debugging interface, the virtual prototype platform is connected with the virtual prototype debugging interface, and the backtracking debugging module is connected with the database; the front-end interface acquires a software program to be debugged and a debugging instruction, and sends the software program and the debugging instruction to the universal debugger; the general debugger is used for analyzing the debugging instructions, switching the debugging interfaces based on the debugging instructions, and executing corresponding debugging operations. The method and the device can be suitable for various debugging scenes in the verification link before chip streaming, and improve the debugging efficiency and performance.

Description

Software debugging system
Technical Field
The invention relates to the technical field of software debugging, in particular to a software debugging system.
Background
The existing embedded software development and debugging based on a software simulation platform, a hardware simulation platform, a virtual prototype platform and the like often uses different debugger platforms because of different simulation platforms or debugging schemes, users need to input cost to different debuggers, and debugging consistency is difficult to ensure by adopting the different debugger platforms.
In addition, existing software debugging means are mostly debugged in a unidirectional, invasive and online mode. The unidirectional debugging mode can only be debugged in a backward mode along with time, and cannot be traced back. Invasive means that the debugger changes the processor behavior to achieve the debugging purpose, i.e. changes the execution behavior of the program itself, interrupts the running of the program, and in this case, the debugging again may not be possible with the error that occurred before. The online mode refers to debugging in the running process of the program, and cannot be debugged in an offline state. Therefore, if the existing software debugging means needs to trace back to the running point before the current moment, the program needs to be restarted to achieve the problem point, and the problem point can be located by restarting for a plurality of times, so that the debugging efficiency is low.
In the prior art, some software debuggers can provide a backtracking function, but all the software debuggers are oriented to common application software, and have the problem of low performance. In addition, the existing software corresponding to backtracking debugging is irrelevant to the development of the chip embedded software, and particularly cannot be used in a verification link before chip streaming. Therefore, how to provide a general software debugging technology which can be efficiently and high-performance and is applicable to various debugging scenes in the verification link before chip streaming becomes a technical problem to be solved.
Disclosure of Invention
The invention aims to provide a software debugging system which can be suitable for various debugging scenes in a verification link before chip streaming, and improves the debugging efficiency and performance.
The invention provides a software debugging system, which comprises a front end interface, a general debugger, a software simulator, a hardware simulator and a virtual prototype platform;
the general debugger comprises a software simulation debugging interface, a hardware simulation debugging interface, a virtual prototype debugging interface, a backtracking debugging interface and a database, wherein the software simulator is connected with the software simulation debugging interface, the hardware simulator is connected with the hardware simulation debugging interface, the virtual prototype platform is connected with the virtual prototype debugging interface, and the software simulator, the hardware simulator, the virtual prototype platform and the backtracking debugging module are connected with the database;
the front-end interface acquires a software program to be debugged and a debugging instruction and sends the software program and the debugging instruction to the universal debugger;
the general debugger is used for analyzing the debugging instructions, switching the debugging interfaces based on the debugging instructions, and executing corresponding debugging operations:
if the software program to be debugged runs on a chip design written in a hardware description language and the running target running speed is smaller than a preset running speed threshold, calling the software simulation debugging interface to control the software simulator to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if the software program to be debugged runs on a chip design written in a hardware description language and the running target running speed is greater than or equal to a preset running speed threshold, calling the hardware simulation debugging interface to control the hardware simulator to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if the software program to be debugged runs on a chip prototype written in a C language, a C++ language or a SystemC language, calling the virtual prototype debugging interface to control the virtual prototype platform to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if an online forward debugging instruction is received, calling the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to execute online forward debugging operation on the process of the software program to be debugged;
and if the backtracking debugging instruction is received, calling the backtracking debugging interface to access the database, and performing backtracking debugging based on database searching operation.
Compared with the prior art, the invention has obvious advantages and beneficial effects. By means of the technical scheme, the software debugging system provided by the invention can achieve quite technical progress and practicality, has wide industrial application value, and has at least the following advantages:
according to the invention, by providing different debugging interfaces and a unified debugger front end, the learning cost of a debugger user for different debuggers is reduced, the debugging consistency is improved, the method is suitable for various debugging scenes in the verification link before chip streaming, the debugging efficiency and performance are improved, and the user debugging experience is improved.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention, as well as the preferred embodiments thereof, together with the following detailed description of the invention, given by way of illustration only, together with the accompanying drawings.
Drawings
Fig. 1 is a schematic diagram of a software debugging system according to an embodiment of the present invention.
Detailed Description
In order to further describe the technical means and effects adopted by the present invention to achieve the preset purpose, the following detailed description refers to the specific implementation of a software debugging system and the effects thereof according to the present invention with reference to the accompanying drawings and preferred embodiments.
The embodiment of the invention provides a software debugging system, as shown in figure 1, which comprises a front-end interface, a general debugger, a software simulator, a hardware simulator and a virtual prototype platform; the universal debugger comprises a software simulation debugging interface, a hardware simulation debugging interface, a virtual prototype debugging interface, a backtracking debugging interface and a database, wherein the software simulator is connected with the software simulation debugging interface, the hardware simulator is connected with the hardware simulation debugging interface, the virtual prototype platform is connected with the virtual prototype debugging interface, and the software simulator, the hardware simulator, the virtual prototype platform and the backtracking debugging module are connected with the database.
The front-end interface acquires a software program to be debugged and a debugging instruction, and sends the software program and the debugging instruction to the universal debugger. As an example, the front-end interface may set a window, a button, etc. for a user to input an instruction, for example, may set a backward execution button, a breakpoint setting button, and may further include a backward execution button, a forward backward execution button, a backward execution button, etc. corresponding to the backward debugging, where the forward backward execution button and the backward execution button may each set a corresponding step size, which may be a single step or multiple steps. The user can realize a plurality of debugging scenes suitable for verification links before chip streaming through a unified interface, and can realize debugging in different modes.
The general debugger is configured to parse the debug instruction, switch a debug interface based on the debug instruction, and execute a corresponding debug operation, which may specifically include:
and if the software program to be debugged is a program written in a hardware description language (such as Verilog), and the running target running speed is smaller than a preset running speed threshold, calling the software simulation debugging interface to control the software simulator to run the software program to be debugged, and supporting to collect CPU behavior information and storing the CPU behavior information into the database.
And if the software program to be debugged runs on a chip design written in a hardware description language and the running target running speed is greater than or equal to a preset running speed threshold, calling the hardware simulation debugging interface to control the hardware simulator to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database. It should be noted that the operation speed threshold is set according to specific debugging requirements.
And if the software program to be debugged runs on a chip prototype written in the C language, the C++ language or the SystemC language, calling the virtual prototype debugging interface to control the virtual prototype platform to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database.
It should be noted that, in the system of the present invention, both the software simulator and the hardware simulator can be used to simulate the chip design written in the hardware description language, the simulation speeds of the two are different, the simulation speed of the hardware simulator is faster, the software simulator has the best debug capability, but the speed is slower when simulating a large chip, so the software simulator and the hardware simulator can be selected according to the specific target operation speed. It should be noted that, the software simulator is also a chip design that can simulate a C language program, and is described in c++ language or SystemC language.
As an embodiment, the program to be debugged is a software program required by an authentication link before chip streaming. In the chip development process, the chip design may be described in the C language before the hardware simulator simulates the chip design phase is incomplete. The standby program at this stage can select a virtual prototype platform to run. When some chip modules are developed and some are not developed, the developed chip modules can be described by adopting a real chip development language, the chip design is simulated in a hardware simulator, and other undeveloped chip modules are still described by using a C language and are simulated in a virtual prototype platform. It is known that a part of the program to be debugged in this development stage needs to run on the hardware simulator, and a part needs to run on the virtual prototype platform. At this time, the system of the invention calls different debugging interfaces, thus meeting different debugging requirements. When the development of all the modules of the chip is completed, the Verilog is directly used for writing the chip design, the chip design can be simulated by a hardware simulator or a software simulator, the hardware description language can simulate the function close to a real chip, and the hardware simulator or the software simulator is selected to run the program to be debugged according to the running speed requirement.
As an embodiment, if the chip design executed by the software program to be debugged includes a chip design part described in a hardware description language and a chip design part described in a C language, a c++ language or a SystemC language, the software program to be debugged is distributed to a corresponding hardware simulator or software simulator to be executed by the general debugger when the chip design part described in the hardware description language is executed; when the chip design part described in the C language, the C++ language or the SystemC language is operated, the universal debugger distributes the software program to be debugged to the corresponding virtual prototype platform for operation. All switching processes are completed in the background of the universal debugger, users do not feel in the whole process, and the debugging efficiency and performance are improved. It will be appreciated that the system of the present invention may also enable debugging of common applications.
And if the universal debugger receives the online forward debugging instruction, calling the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to execute online forward debugging operation on the process of the software program to be debugged. And if the universal debugger receives the backtracking debugging instruction, calling the backtracking debugging interface to access the database, and performing backtracking debugging based on database searching operation.
As an embodiment, the general debugger calls the software emulation debug interface, the hardware emulation debug interface and the virtual prototype debug interface to execute online forward debugging operation on the process of the software program to be debugged, and specifically includes:
and calling the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to set the branch execution behavior of the software program to be debugged in an invasive mode, so that the software program to be debugged runs according to the set branch behavior.
It should be noted that in some debug scenarios, the program originally runs towards one branch, but based on debug requirements, the behavior of the CPU needs to be changed, another branch is tried, and the mode of running forward on line and debugging the software program to be debugged is adopted, so that the CPU behavior can be changed without recompilation or debug reestablishment, a new running branch is explored, the debugging process is flexible, multiple debug requirements in the software development process can be met, and the whole running process can be recorded by the database for subsequent retrospective debugging.
It should be noted that, online forward debugging is to forward debug the program by time backward, and in this process, the CPU behavior can be changed in an invasive manner according to the debugging requirement.
As an embodiment, the general debugger calls the software emulation debug interface, the hardware emulation debug interface and the virtual prototype debug interface to execute online forward debugging operation on the process of the software program to be debugged, and specifically includes: and adopting a mode of single-step backward execution or breakpoint setting to forward debug the software program to be debugged on line.
The step-backward execution mode is debugged, namely, each step of execution is performed to check whether the execution result of the step is consistent with the expected result, and thus, whether the current execution point is a target problem point or not. The breakpoint setting mode can specifically set one or more breakpoints according to debugging requirements to carry out online debugging.
As one embodiment, the CPU behavior information includes program count information (Programcount), preset key register change information, memory access information, and CPU event information. Each step of executing the software Program to be debugged generates a corresponding Program count. And a plurality of registers are arranged in the process of running the software program to be debugged, the registers related to the debugging task are only required to be set as preset key registers, and each time of changing information of the key registers is recorded. The memory access information includes read information and write information of the heap memory. The CPU event information includes a reset event, a restart event, and the like.
As an embodiment, each debug interface may specifically set a preset information collection component to obtain CPU behavior information, where the information collection component may be an existing trace capture component for capturing CPU behavior, where the trace capture component captures multiple CPU behavior information, and each CPU behavior information has a corresponding timestamp. It should be noted that, many redundant information exists in the CPU behavior information directly collected by the trace capture component, which occupies a large space. Therefore, by analyzing the CPU behavior information extracted by the trace capture component, a program count value, and corresponding key register state, memory access state, and CPU event information may be extracted therefrom, and the program count value may be used as a key value to construct a database, where the database includes all records for running the software program to be debugged, where the records include a program count value field, a key register state field, a memory access state field, and a CPU event information field.
As an embodiment, the preset information collection component may be a preset collection component that is only used for collecting the state of the key register, the memory access state and the CPU event information, and directly collects the state of the key register, the memory access state and the CPU event information to construct the database. In addition, the data can be compressed through technical means such as data compression, and the size of the database is reduced, so that the size of the database can be ensured not to be too large even if a longer program is run. By constructing the database, key behavior information executed by each step of the CPU is recorded, the behavior of the control CPU in the backtracking debugging process is converted into the searching behavior of the database, and compared with the behavior of the control CPU, the speed of obtaining the CPU information is greatly improved, so that the backtracking debugging efficiency is improved.
It should be noted that, the debugging user only knows the target jump function of the software program to be debugged, but does not know the corresponding target database key value, and in the process of constructing the database, the mapping relationship between the database key value and the jump function is established. As an embodiment, in the process of constructing the database, the method further includes: and establishing a mapping relation between the database key value and the jump function. As an embodiment, if the general debugger only receives the backtracking debug instruction, the general debugger calls the backtracking debug interface to access the database, and backtracking debug is performed based on a database search operation, which specifically includes: and acquiring a target jump function input by a user, translating the target jump function into a target database key value based on a mapping relation between the database key value and the jump function, retrieving the database based on the target database key value, and acquiring CPU behavior information corresponding to the target database key value for backtracking debugging.
As an embodiment, if the general debugger receives both a traceback debug instruction and an online forward debug instruction, the general debugger calls the traceback debug interface to access the database, and performs traceback debug based on a database lookup operation, which specifically includes: when a backtracking debugging request is received, suspending the software program to be debugged to a current debugging point, acquiring a target jump function input by a user, and translating the target jump function into a target database key value; and searching the database based on the target database key value, acquiring CPU behavior information corresponding to the target database key value, performing backtracking debugging, and starting forward running from the current debugging point and debugging a software program to be debugged after the backtracking debugging is completed.
The method comprises the steps of performing backtracking debugging on the basis of a database, performing the backtracking debugging process on the basis of the database through a backtracking debugging interface, freely switching an online debugging mode and a backtracking debugging mode according to debugging requirements by a general debugger, and controlling the front end of a user to be highly uniform in a forward or backtracking debugging mode and in different modes, wherein the user can be debugged at any moment before the current simulation time point. In addition, the method and the device can realize the functions of forward debugging and backward debugging in the process of running the software program to be debugged at a time, and can provide the software program to be debugged for a user to continue running after the backward debugging is completed, so that the software debugging iteration time is greatly saved, and the software debugging efficiency and performance are improved.
As an embodiment, retrieving the database based on the target database key value, and obtaining CPU behavior information corresponding to the target database key value for retrospective debugging may specifically include: retrieving the database based on the target database key value, and acquiring the key register state, the memory access state and the CPU event information corresponding to the target database key value; and if the key register state, the memory access state or the CPU event information corresponding to the target database key value is inconsistent with the preset key register state, the preset memory access state or the preset CPU event information corresponding to the target database key value, determining that the program running point corresponding to the target database key value is a target problem point.
It should be noted that, the preset key register state, the preset memory access state or the preset CPU event information is an expected value of normal running of the software program to be debugged. When the values are consistent, the program is free from problems before the operation point and the operation point, and if one value is inconsistent, the operation point is the target problem point.
However, in general, it is difficult to locate the target problem point directly once, so it is necessary to trace back and debug repeatedly many times, and as an embodiment, if the key register state, the memory access state and the CPU event information corresponding to the target database key value are all consistent with the preset key register state, the preset memory access state and the preset CPU event information corresponding to the target database key value, the method further includes: and re-acquiring the re-input target jump function of the user, translating the re-input target jump function into a target database key value, retrieving the database based on the target database key value, and acquiring CPU behavior information corresponding to the target database key value for backtracking debugging.
When it is confirmed that the program execution point corresponding to the last target jump function is not the target problem execution point, the target problem execution point is located after the program execution point, and the user reenters the corresponding target jump function after the program execution point. The backtracking point can be appointed for a plurality of times, backtracking is performed to the appointed backtracking point, and whether the backtracking point is a target problem point or not is detected.
As an embodiment, when a trace-back point is designated and the trace-back point is not a target problem point, the trace-back point may be used as a starting point, and a single-step or multi-step backward debugging mode is adopted to locate the problem point, and if the key register state, the memory access state and the CPU event information corresponding to the target database key value are consistent with the preset key register state, the preset memory access state and the preset CPU event information corresponding to the target database key value, then executing: and controlling the database key value to jump backwards from the target database key value according to a preset key value step length, acquiring the key register state, the memory access state and the CPU event information corresponding to each jumped database key value, comparing the key register state, the memory access state and the CPU event information corresponding to each database key value, and judging the program running point corresponding to the current database key value as the target problem point if the key register state, the memory access state and the CPU event information are consistent.
The key value step size of the plurality of presets can be single step or multi-step, namely traversing record debugging in the database one by one or reading record debugging at intervals.
In some cases, there may be more than one target problem point in the running process of the software program to be debugged, or there is a need for forward backtracking, where in this case, a backtracking point may be determined, and then forward backtracking is performed to determine the target problem point, as an embodiment, the database is searched based on the target database key value, and the CPU behavior information corresponding to the target database key value is obtained to perform backtracking debugging, which may further include: and controlling the database key value to jump forward from the target database key value according to a preset key value step length, acquiring the key register state, the memory access state and the CPU event information corresponding to each jumped database key value, comparing the key register state, the memory access state and the CPU event information corresponding to each database key value, and judging the program running point corresponding to the current database key value as the target problem point if the key register state, the memory access state and the CPU event information are consistent.
The key value step size of the plurality of presets can be single step or multi-step, namely traversing record debugging in the database one by one or reading record debugging at intervals. The implementation method can realize the functions of forward debugging and backward debugging in the process of running the software program to be debugged once, and can provide the user with the capability of continuing to run the software program to be debugged after the backward debugging is completed. The embodiment of the invention greatly saves the software debugging iteration time and improves the efficiency and performance of software debugging.
According to the embodiment of the invention, by providing different debugging interfaces and a unified debugger front end, the learning cost of a debugger user on different debuggers is reduced, the debugging consistency is improved, the method and the device are suitable for various debugging scenes in the verification link before chip streaming, the debugging efficiency and performance are improved, and the user debugging experience is improved.
The present invention is not limited to the above-mentioned embodiments, but is intended to be limited to the following embodiments, and any modifications, equivalents and modifications can be made to the above-mentioned embodiments without departing from the scope of the invention.

Claims (8)

1. A software debugging system is characterized in that,
the system comprises a front-end interface, a general debugger, a software simulator, a hardware simulator and a virtual prototype platform;
the general debugger comprises a software simulation debugging interface, a hardware simulation debugging interface, a virtual prototype debugging interface, a backtracking debugging interface and a database, wherein the software simulator is connected with the software simulation debugging interface, the hardware simulator is connected with the hardware simulation debugging interface, the virtual prototype platform is connected with the virtual prototype debugging interface, and the software simulator, the hardware simulator, the virtual prototype platform and the backtracking debugging module are connected with the database;
the front-end interface acquires a software program to be debugged and a debugging instruction and sends the software program and the debugging instruction to the universal debugger;
the general debugger is used for analyzing the debugging instructions, switching the debugging interfaces based on the debugging instructions, and executing corresponding debugging operations:
if the software program to be debugged runs on a chip design written in a hardware description language and the running target running speed is smaller than a preset running speed threshold, calling the software simulation debugging interface to control the software simulator to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if the software program to be debugged runs on a chip design written in a hardware description language and the running target running speed is greater than or equal to a preset running speed threshold, calling the hardware simulation debugging interface to control the hardware simulator to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if the software program to be debugged runs on a chip prototype written in a C language, a C++ language or a SystemC language, calling the virtual prototype debugging interface to control the virtual prototype platform to run the software program to be debugged, and simultaneously supporting to collect CPU behavior information and storing the CPU behavior information into the database;
if an online forward debugging instruction is received, calling the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to execute online forward debugging operation on the process of the software program to be debugged;
and if the backtracking debugging instruction is received, calling the backtracking debugging interface to access the database, and performing backtracking debugging based on database searching operation.
2. The system of claim 1, wherein the system further comprises a controller configured to control the controller,
if the chip design operated by the software program to be debugged comprises a chip design part described by a hardware description language and a chip design part described by a C language, a C++ language or a SystemC language, the general debugger distributes the software program to be debugged to a corresponding hardware simulator or software simulator for operation when the chip design part described by the hardware description language is operated; when the chip design part described in the C language, the C++ language or the SystemC language is operated, the universal debugger distributes the software program to be debugged to the corresponding virtual prototype platform for operation.
3. The system of claim 1, wherein the system further comprises a controller configured to control the controller,
the general debugger calls the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to execute online forward debugging operation on the process of the software program to be debugged, and the method specifically comprises the following steps:
and calling the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to set the branch execution behavior of the software program to be debugged in an invasive mode, so that the software program to be debugged runs according to the set branch behavior.
4. A system according to claim 1 or 3, wherein,
the general debugger calls the software simulation debugging interface, the hardware simulation debugging interface and the virtual prototype debugging interface to execute online forward debugging operation on the process of the software program to be debugged, and the method specifically comprises the following steps:
and adopting a mode of single-step backward execution or breakpoint setting to forward debug the software program to be debugged on line.
5. The system of claim 1, wherein the system further comprises a controller configured to control the controller,
the CPU behavior information comprises program counting information, preset change information of a key register, memory access information and CPU event information;
the database comprises all records for running software programs to be debugged, wherein the records comprise a program count value field, a key register state field, a memory access state field and a CPU event information field; the database key value is a program count value.
6. The system of claim 1, wherein the system further comprises a controller configured to control the controller,
if the general debugger only receives the backtracking debugging instruction, the general debugger calls the backtracking debugging interface to access the database, and backtracking debugging is performed based on database searching operation, and the method specifically comprises the following steps:
and acquiring a target jump function input by a user, translating the target jump function into a target database key value, retrieving the database based on the target database key value, and acquiring CPU behavior information corresponding to the target database key value for backtracking debugging.
7. The system of claim 5, wherein the system further comprises a controller configured to control the controller,
if the universal debugger receives both a backtracking debug instruction and an online forward debug instruction, the universal debugger calls the backtracking debug interface to access the database, and backtracking debugging is performed based on database searching operation, which specifically comprises the following steps:
when a backtracking debugging request is received, suspending the software program to be debugged to a current debugging point, acquiring a target jump function input by a user, and translating the target jump function into a target database key value; and searching the database based on the target database key value, acquiring CPU behavior information corresponding to the target database key value, performing backtracking debugging, and starting forward running from the current debugging point and debugging a software program to be debugged after the backtracking debugging is completed.
8. The system of claim 1, wherein the system further comprises a controller configured to control the controller,
the program to be debugged is a software program required by an authentication link before chip streaming.
CN202210234134.4A 2022-03-10 2022-03-10 Software debugging system Pending CN116775442A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210234134.4A CN116775442A (en) 2022-03-10 2022-03-10 Software debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210234134.4A CN116775442A (en) 2022-03-10 2022-03-10 Software debugging system

Publications (1)

Publication Number Publication Date
CN116775442A true CN116775442A (en) 2023-09-19

Family

ID=87991804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210234134.4A Pending CN116775442A (en) 2022-03-10 2022-03-10 Software debugging system

Country Status (1)

Country Link
CN (1) CN116775442A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094260A (en) * 2023-10-16 2023-11-21 上海合见工业软件集团有限公司 Command interaction system based on natural language
CN117573565A (en) * 2024-01-16 2024-02-20 麒麟软件有限公司 Debug history information reproduction method, device and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094260A (en) * 2023-10-16 2023-11-21 上海合见工业软件集团有限公司 Command interaction system based on natural language
CN117094260B (en) * 2023-10-16 2024-01-19 上海合见工业软件集团有限公司 Command interaction system based on natural language
CN117573565A (en) * 2024-01-16 2024-02-20 麒麟软件有限公司 Debug history information reproduction method, device and storage medium
CN117573565B (en) * 2024-01-16 2024-06-07 麒麟软件有限公司 Debug history information reproduction method, device and storage medium

Similar Documents

Publication Publication Date Title
Cui et al. {REPT}: Reverse debugging of failures in deployed software
CN102184138B (en) Method and system for automatically reproducing and positioning software error
US9342437B2 (en) Backward post-execution software debugger
US7653899B1 (en) Post-execution software debugger with performance display
US8914777B2 (en) Forward post-execution software debugger
US8924912B2 (en) Method of recording and replaying call frames for a test bench
EP3785124B1 (en) Memory validity states in time-travel debugging
US8584097B2 (en) Post-execution software debugger with event display
CN116775442A (en) Software debugging system
TWI544410B (en) Diagnosing code using single step execution
US20140337822A1 (en) Storage of software execution data by behavioral identification
CN103729288A (en) Application program debugging method under embedded multi-core environment
US8015552B1 (en) Post-execution software debugger with coverage display
JP2008033849A (en) Fault analysis system
CN105630664B (en) Reverse debugging method and device and debugger
CN117909160B (en) Firmware crash analysis method and device based on Internet of things
US11113182B2 (en) Reversible debugging in a runtime environment
CA2492367C (en) Data processing system
Kantrowitz et al. Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip
US10650174B1 (en) System and method for visualizing event sequences for expressions using both hardware and software state information
CN110727577B (en) Debugging method, system and medium for probability reproduction problem in embedded system software
Zhao et al. Host-compiled reliability modeling for fast estimation of architectural vulnerabilities
CN114756463A (en) Test environment development method, system, equipment and medium
CN116775444A (en) Software debugging method
CN116775445A (en) Offline debugging method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination