CN104461521A - Application program playback method and system - Google Patents

Application program playback method and system Download PDF

Info

Publication number
CN104461521A
CN104461521A CN201410693931.4A CN201410693931A CN104461521A CN 104461521 A CN104461521 A CN 104461521A CN 201410693931 A CN201410693931 A CN 201410693931A CN 104461521 A CN104461521 A CN 104461521A
Authority
CN
China
Prior art keywords
information
event
task
application program
acquisition
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.)
Granted
Application number
CN201410693931.4A
Other languages
Chinese (zh)
Other versions
CN104461521B (en
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201410693931.4A priority Critical patent/CN104461521B/en
Publication of CN104461521A publication Critical patent/CN104461521A/en
Application granted granted Critical
Publication of CN104461521B publication Critical patent/CN104461521B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention discloses an application program playback method and system. The method comprises the following steps that S1, a target machine downloads an application program of a host machine; S2, instrumentation is conducted on the application program, and execution information of the application program is obtained and uploaded; S3, a breakpoint is set at an event occurrence point corresponding to the application program according to event information, wherein the event information is obtained by analyzing and processing the execution information through the host machine, and the event information is information triggering task switching; S4, the application program is restarted, when the breakpoint is met in the execution process, tasks of the application program are switched according to task switching information, and the application program is executed according to an original operating sequence, wherein the task switching information is obtained through analyzing and calculating carried out by the host machine according to the event information. According to the application program playback method and system, instrumentation probes are used for recording the execution information of the application program, time and space consumption is greatly reduced, and the application program playback method and system can be applied to all systems such as embedded real-time systems.

Description

A kind of application program playback method and system
Technical field
The present invention relates to and perform reproducing process field, more specifically relate to a kind of application program playback method and system.
Background technology
Along with the raising that user requires software system performance, concurrent technology is widely used.But the use of concurrent technology is while raising software performance, bring very large difficulty also to the exploitation of software developer, especially for embedded software system, due to the uncertainty of concurrent program execution, the not reproducible of mistake, traditional sequential programme adjustment method is made to become no longer applicable.In the performance history of concurrent program, what usual use performed incorrect restitution when reproducing process realizes software debugging and program retries row, namely by carrying out recording, tracking to the implementation status of target program, afterwards under identical initial conditions, according to the execution information recorded, the ruuning situation of target program is reproduced.The research performing reproducing process has very important significance for the debugging of concurrent program.
At present, perform playback for concurrent program, someone proposes certain methods both at home and abroad, mainly comprises:
A content-based execution playback method Recap, realizes the playback of program by the data of following the trail of in all shared drives.The advantage of the method is can one or several process specific in playback system separately, but owing to needing to store all data manipulations, cause Time and place expense very large, practicality is more weak, is difficult to embedded real time system.
In addition, also have a class based on the execution playback method of order, by special mode, these class methods ensure that the sequence of operation of software systems under playback mode is consistent with system operation sequence when performing, thus reach the object of playback error and program punching execution.Compared with content-based method, these class methods can greatly reduce Time and place expense.Current most execution playback method all belongs to these class methods, typically has following several:
The Instant Replay method that LeBlanc proposes is intended to the fault recurrence realizing CREW (ConcurrentReader & Exclusive Write) parallel system.The method is that each shared object adds version number, and version number during access shared drive object is recorded to journal file to ensure the determinacy of playback time by each thread.Although this method can reduce space expense to a certain extent, shortcoming to be applied to the unix system meeting CREW character.FDR method adopts incremental checkpoint mechanism, and by program being divided into several playback intervals, the value deposited before this core position upgrades only is recorded at each interval, thus the determinacy realizing program is reset, but this method needs the support of special hardware.It is very huge to the consumption of hardware resource that existing these perform playback method, especially for embedded real time system, can not apply at all, because the hardware resource of embedded real time system is limited, cannot directly store a large amount of log informations; And the real-time interrupt of embedded real time system and task requirement of real-time also have a lot of difference with different system, also need when performing playback system and performing between the scheduling of consideration task and task synchronously with the situation such as to communicate.
In sum, existing execution playback method, the consumption of Time and place is very large, and general applicability is not strong.
Summary of the invention
(1) technical matters that will solve
The technical problem to be solved in the present invention how to reduce the consumption for Time and place in program playback process.
(2) technical scheme
In order to solve the problems of the technologies described above, the invention provides a kind of application program playback method, said method comprising the steps of:
The application program of host downloaded by S1, target machine;
S2, in described application program pitching pile, obtain and the execution information uploading described application program to described host;
S3, according to event information, breakpoint is set at the event origination point of the correspondence of described application program; Described event information to be carried out to described execution information by described host that treatment and analysis obtains, and described event information is cause the information switched between task.
S4, restart application program, perform when running into described breakpoint, switch the task of described application program according to task switching information, realize described application program and perform according to former operation order; Described task switching information is obtained according to described event information analytical calculation by described host.
Preferably, obtain described execution information comprise acquisition control flow check information and obtain traffic flow information;
Wherein, obtain described control flow check information to comprise the task switch information that obtains, obtain synchronous event information and obtain asynchronous event information; Obtain described task switch information to realize for arranging probe in scheduling function; Obtain described synchronous event information to realize for arranging probe at corresponding function place; Obtain described asynchronous event information to exit function place and arrange probe for entering function and interruption in interruption and realize;
Obtaining described traffic flow information and comprise the data message transmitted between data message and acquisition task obtaining outside input, realizing by arranging probe at generation data receiver place.
Preferably, the delayed data that described synchronous event information comprises the obtaining information obtaining semaphore, the release information obtaining semaphore, the reception information obtaining message, the transmission information obtaining message and acquisition task is obtained; Wherein, the release information of the obtaining information and semaphore that obtain described semaphore is arrange probe to realize at the acquisition function of semaphore and the release function place of semaphore respectively; The transmission information of the reception information and message that obtain described message is arrange probe at the receiver function of message and the transmission function place of message respectively to realize; The delayed data obtaining described task realizes for arranging probe at task delay function place.
Preferably, obtain described task switch information comprise obtain event type, the timestamp of acquisition event when occurring, the contextual information and obtaining that obtains task before switching switch after the contextual information of task;
When timestamp when the release information of the obtaining information and semaphore that obtain described semaphore includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain semaphore numbering ID, mission number ID when obtaining semaphore operations and acquisition event counter value;
When timestamp when the transmission information of the reception information and message that obtain described message includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain message queue numbering ID, the mission number ID of acquisition event when occurring and acquisition event counter value;
When timestamp when the delayed data obtaining described task comprises acquisition event type, acquisition event occurs, acquisition event occur, the value of programmable counter PC is to obtain and event counter value.
Preferably, the detailed process of the described event information switched between task is obtained causing to be:
Timestamp when all events in described execution information occur according to described event by S31, described host sorts;
The information of the event that S32, rejecting and described application program have nothing to do;
S33, will the event switched between task be caused to be stripped out.
Preferably, in described step S4, the event information obtained according to described step S3 by described host, arranges breakpoint at the event origination point of described application program.
Preferably, arrange breakpoint at the event origination point of described application program to be completed by debugger.
Preferably, in institute step S3, by the value of described mission number ID and programmable counter PC, at the task place of corresponding mission number ID, breakpoint is set at corresponding PC value of program counter place.
Preferably, the acquisition process of described task switching information is: if synchronous event information or asynchronous event information is a described task switch information below, then this synchronous event or asynchronous event cause task switch, after described application program executes described synchronous event or asynchronous event, send described task switching information.
Preferably, in described step S33, the event switched between task is caused to be: a described task switch information below of described event.
A kind of application program playback system, comprises host and target machine;
Described host arranges historical analysis device and reproducer; Described target machine arranges register;
Described register is used for the execution information in records application program implementation, and is uploaded to described host;
Described historical analysis device obtains causing the event information switched between task after being used for that described execution information is carried out treatment and analysis;
Described reproducer is used for arranging breakpoint according to described event information at the event origination point that described application program is corresponding, start described application program performs and described application program again performs and runs into breakpoint again, obtain task switching information according to described event information analytical calculation, and be handed down to described target machine.
Preferably, described register is included in scheduling function and arranges probe, for obtaining task switch information;
Enter function and interruption in interruption to exit function place and arrange probe, for obtaining asynchronous event information;
Probe is set at the acquisition function of semaphore and the release function place of semaphore, for the release information of the obtaining information and semaphore that obtain semaphore;
Probe is set at the receiver function of message and the transmission function place of message, for the transmission information of the reception information and message that obtain message;
At task delay function, place arranges probe, for the delayed data of described task.
Preferably, obtain described task switch information comprise obtain event type, the timestamp of acquisition event when occurring, the contextual information and obtaining that obtains task before switching switch after the contextual information of task;
When timestamp when the release information of the obtaining information and semaphore that obtain described semaphore includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain semaphore numbering ID, mission number ID when obtaining semaphore operations and acquisition event counter value;
When timestamp when the transmission information of the reception information and message that obtain described message includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain message queue numbering ID, the mission number ID of acquisition event when occurring and acquisition event counter value;
When timestamp when the delayed data obtaining described task comprises acquisition event type, acquisition event occurs, acquisition event occur, the value of programmable counter PC is to obtain and event counter value.
(3) beneficial effect
The invention provides a kind of application program playback method and system, the present invention carrys out the execution information of records application program by pitching pile probe, and the execution information of application program is uploaded to host carries out treatment and analysis automatically, carry out control program in the program playback stage by debugger to perform according to original executing state of program, thus realize the playback of application program, the present invention will greatly reduce the consumption of Time and place, can be used in all systems such as embedded real time system;
Because the technical scheme proposed in the present invention does not need the support of special hardware and software, therefore the principle of the program and thought have versatility and portability, can be applied in most hardware platform and software systems, especially can be applied in embedded real time system, the debugging pressure of application developer can be alleviated to a certain extent.
Accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, be briefly described to the accompanying drawing used required in embodiment or description of the prior art below, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
Fig. 1 is the process flow diagram of a kind of application program playback method of the present invention;
Fig. 2 is the process flow diagram of a kind of application program playback method of a preferred embodiment of the present invention;
Fig. 3 is the acquisition process flow diagram of task switch information;
Fig. 4 is the acquisition process flow diagram of synchronous event information;
Fig. 5 is the acquisition process flow diagram of asynchronous event information;
Fig. 6 is the process flow diagram obtaining causing the described event information switched between task;
Fig. 7 is breakpoint processing flow chart;
Fig. 8 is a kind of application program playback system structural representation of the present invention.
Embodiment
Below in conjunction with drawings and Examples, the present invention is described in further detail.Following examples for illustration of the present invention, but can not be used for limiting the scope of the invention.
Fig. 1 is the process flow diagram of a kind of application program playback method of the present invention; Said method comprising the steps of:
The application program of host downloaded by S1, target machine;
S2, in described application program pitching pile, obtain and the execution information uploading described application program to described host;
S3, according to event information, breakpoint is set at the event origination point of the correspondence of described application program; Described event information to be carried out to described execution information by described host that treatment and analysis obtains, and described event information is cause the information switched between task.
S4, restart application program, perform when running into described breakpoint, switch the task of described application program according to task switching information, realize described application program and perform according to former operation order; Described task switching information is obtained according to described event information analytical calculation by described host.
Method of the present invention carrys out the execution information of records application program by pitching pile probe, and the execution information of application program is uploaded to host carries out treatment and analysis automatically, carry out control program in the program playback stage by debugger to perform according to original executing state of program, thus realize the playback of application program, method of the present invention will greatly reduce the consumption of Time and place, can be used in all systems such as embedded real time system.
Preferably, obtain described execution information comprise acquisition control flow check information and obtain traffic flow information; Wherein, control flow check information comprises task switch information, synchronous event information and asynchronous event information; Described task switch information carrys out obtaining information for arranging probe in scheduling function; Described synchronous event information carrys out obtaining information for arranging probe at corresponding function place; Described asynchronous event information exits function place and arranges probe for entering function and interruption in interruption and carry out obtaining information; Described traffic flow information comprises the data message transmitted between the data message of outside input and task, and realize by arranging probe at generation data receiver place, described traffic flow information is saved in file, directly reads out from file during use.
Described synchronous event information comprises the delayed data of the obtaining information of semaphore, the release information of semaphore, the reception information of message, the transmission information of message and task; Wherein, the obtaining information of described semaphore and the release information of semaphore are arrange probe at the acquisition function of semaphore and the release function place of semaphore respectively to carry out obtaining information; The reception information of described message, the transmission information of message are arrange probe at the transmission function place accepting function and message of message respectively to carry out obtaining information; The delayed data of described task carrys out obtaining information for arranging probe at task delay function place.
The contextual information of task after timestamp timestamp when described task switch information comprises event type, event occurs, the contextual information switching front task and switching.Fig. 3 is the acquisition process flow diagram of task switch information.As can see from Figure 3, the work of first dealing with the work in queue, after being disposed, the task that priority is the highest is found from task queue, then judge whether work queue is empty, if not, then return work queue and continue process, otherwise carry out logger task handover information by the probe arranged in scheduling function, and loading tasks performs.
Mission number ID when timestamp timestamp when the obtaining information of described semaphore and the release information of semaphore include event type, event occurs, event occur during value, semaphore numbering ID, the semaphore operations of programmable counter PC and event counter value.The value of programmable counter PC when timestamp timestamp when the reception information of described message and the transmission information of message include event type, event occurs, event occur, message queue numbering ID, mission number ID when operating and event counter value.The value of programmable counter PC and event counter value when timestamp timestamp when the delayed data of described task comprises event type, event occurs, event occur.Fig. 4 is the acquisition process flow diagram of synchronous event information, as seen from Figure 4, first obtains current PC value, then allows event counter value add 1, by the corresponding synchronous event information of pitching pile probe records, is processing dependent event.
The value of programmable counter PC when timestamp timestamp when asynchronous event information comprises event type, event occurs, event occur, Fig. 5 is the acquisition process flow diagram of asynchronous event information, see from Fig. 5, after interrupt event enters, carry out obtaining information by interrupting entering function with the probe interrupting exiting function probe.
Preferably, obtain causing the detailed process of the described event information switched between task be, as shown in Figure 6:
Timestamp when all events in described execution information (initial journal file) occur according to described event by S31, described host sorts;
The information of the event that S32, rejecting and described application program have nothing to do, namely rejects the information relevant to system task;
S33, by causing the event switched between task to be stripped out, namely reject the event information not causing task switch.
In above-mentioned steps S1, first open target machine and host, connect between host and target machine, then application program is loaded into target machine.
In above-mentioned steps S2, pitching pile arrange probe totally constitute register; Before executive utility, first by host open record device, the register of control objectives machine is opened and initialization, and then executive utility.Register is used for the execution first of application program, and the running status of essential record target machine end records application program, comprises the transfer sequence of task and the access sequence of data, control flow check when namely application program is run and data stream; In the process that program performs, first the execution information of record is recorded to the buffer area of target machine by register, by the time after application program is finished, carry out daily record by buffer area taking-up execution information (execution journal) again to upload, after daily record is uploaded, carry out daily record preservation at host end.
In above-mentioned steps S3, after described daily record is preserved, by the historical analysis device of described host, described execution information (execution journal) is carried out treatment and analysis, namely log analysis is carried out, the time-based flow of event sequence (causing the event information switched between task) of the program that is applied, is used to guide described application program and resets.By the value of described mission number ID and programmable counter PC, at the task place of corresponding mission number ID, breakpoint is set at corresponding PC value of program counter place.
In above-mentioned steps S4, controlled according to the event information (log analysis result) switched between task that causes obtained in step S3 by the reproducer of described host, breakpoint is set at the corresponding PC place of the application program of target machine, completes the initialization (i.e. reproducer reconstruction tasks) of playback programs process.The event origination point of the application program of described target machine arranges breakpoint and is completed by debugger.The acquisition process of described task switching information is: if synchronous event information or asynchronous event information is a described task switch information below, then this synchronous event or asynchronous event cause task switch, after described application program executes described synchronous event or asynchronous event, send described task switching information.
In above-mentioned steps S5, the application program being started target machine by described reproducer performs (execution of reproducer recovery tasks) again, after program execution runs into breakpoint, by reproducer according to the analysis result (log analysis result) causing the event information switched between task obtained in step S3, obtain task switching information, carry out respective handling to program execution (to judge whether to carry out task switch, if then switch to corresponding task, otherwise do not carry out task switch), the program of control objectives machine performs, until program performs end.Breakpoint is set by debugger (debugger in developing instrument) in playback phase and carrys out controlling application program and perform according to the original executing state of program, thus realize the playback of application program; By the hang-up of control task and recovery, application program can be performed according to former execution sequence, thus realizes the playback of program, as shown in Figure 7.
In above-mentioned steps S31, obtained the time stream of event by sequence.
In above-mentioned steps S32, because execution information is record the execution information of all tasks, and all tasks in the just application program paid close attention to, therefore to reject the information that these have nothing to do with application task.
In above-mentioned steps S33, the event information likely causing task switch is have recorded in execution information, but these events not necessarily really can cause task switch, therefore need those really to be caused the event switched between task to be stripped out, to instruct the playback of application program.Cause the event switched between task to be: a described task switch information below of described event, as long as because event cause switching, in execution information after this event information just followed by a task switch information.
The method is by recording the implementation of destination application and follow the trail of, namely carry out the operations such as communication between the task scheduling of register system, task and I/O mainly through pitching pile probe, then under identical initial conditions, according to the execution information of record, the ruuning situation of target program is reproduced.For embedded real time system, control flow check needs the transfer sequence of task in records application program (Task) and affects each event of task switch, as the asynchronous event such as synchronous event and tick interrupt such as time delay of the reception of the acquisition of semaphore and release, message and transmission, task.
Method of the present invention sets up framework at host and target machine, wherein the unlatching of the register of target machine controls open record device by host and completes, described execution information is carried out treatment and analysis by described host, after by host, breakpoint is set, control objectives machine arranges breakpoint again, in the application program implementation of target machine, run into breakpoint, processed according to described execution information by host, the task switch of control objectives machine application program, the process flow diagram of a preferred embodiment of method of the present invention as shown in Figure 2.
The invention also discloses a kind of application program playback system, as shown in Figure 8, comprise host and target machine; Described host arranges historical analysis device and reproducer; Described target machine arranges register; Described register is used for the execution information in records application program implementation, and is uploaded to described host; Described historical analysis device obtains causing the event information switched between task after being used for that described execution information is carried out treatment and analysis; Described reproducer is used for arranging breakpoint according to described event information at the event origination point that described application program is corresponding, start described application program performs and described application program again performs and runs into breakpoint again, obtain task switching information according to described event information analytical calculation, and be handed down to described target machine.
Described register is included in scheduling function and arranges probe, for obtaining task switch information; Enter function and interruption in interruption to exit function place and arrange probe, for obtaining asynchronous event information; Probe is set at the acquisition function of semaphore and the release function place of semaphore, for the release information of the obtaining information and semaphore that obtain semaphore; Probe is set at the receiver function of message and the transmission function place of message, for the transmission information of the reception information and message that obtain message; At task delay function, place arranges probe, for the delayed data of described task.Obtain described task switch information comprise obtain event type, the timestamp of acquisition event when occurring, the contextual information and obtaining that obtains task before switching switch after the contextual information of task; When timestamp when the release information of the obtaining information and semaphore that obtain described semaphore includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain semaphore numbering ID, mission number ID when obtaining semaphore operations and acquisition event counter value; When timestamp when the transmission information of the reception information and message that obtain described message includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain message queue numbering ID, the mission number ID of acquisition event when occurring and acquisition event counter value; When timestamp when the delayed data obtaining described task comprises acquisition event type, acquisition event occurs, acquisition event occur, the value of programmable counter PC is to obtain and event counter value.
System of the present invention buys that method for realizing this law.
This invention does not need the support of special hardware and software, and what the basis of existing development environment achieved application program performs playback, effectively reduces the consumption of Time and place, especially greatly reduces the consumption of the time and space in target machine.
Above embodiment is only for illustration of the present invention, but not limitation of the present invention.Although with reference to embodiment to invention has been detailed description, those of ordinary skill in the art is to be understood that, various combination, amendment or equivalent replacement are carried out to technical scheme of the present invention, do not depart from the spirit and scope of technical solution of the present invention, all should be encompassed in the middle of right of the present invention.

Claims (12)

1. an application program playback method, is characterized in that, said method comprising the steps of:
The application program of host downloaded by S1, target machine;
S2, in described application program pitching pile, obtain and the execution information uploading described application program to described host;
S3, according to event information, breakpoint is set at the event origination point of the correspondence of described application program; Described event information to be carried out to described execution information by described host that treatment and analysis obtains, and described event information is cause the information switched between task;
S4, restart application program, perform when running into described breakpoint, switch the task of described application program according to task switching information, realize described application program and perform according to former operation order; Described task switching information is obtained according to described event information analytical calculation by described host.
2. method according to claim 1, is characterized in that, obtains described execution information and comprises acquisition control flow check information and obtain traffic flow information;
Wherein, obtain described control flow check information to comprise the task switch information that obtains, obtain synchronous event information and obtain asynchronous event information; Obtain described task switch information to realize for arranging probe in scheduling function; Obtain described synchronous event information to realize for arranging probe at corresponding function place; Obtain described asynchronous event information to exit function place and arrange probe for entering function and interruption in interruption and realize;
Obtaining described traffic flow information and comprise the data message transmitted between data message and acquisition task obtaining outside input, realizing by arranging probe at generation data receiver place.
3. method according to claim 2, it is characterized in that, obtain the delayed data that described synchronous event information comprises the obtaining information obtaining semaphore, the release information obtaining semaphore, the reception information obtaining message, the transmission information obtaining message and acquisition task; Wherein, the release information of the obtaining information and semaphore that obtain described semaphore is arrange probe to realize at the acquisition function of semaphore and the release function place of semaphore respectively; The transmission information of the reception information and message that obtain described message is arrange probe at the receiver function of message and the transmission function place of message respectively to realize; The delayed data obtaining described task realizes for arranging probe at task delay function place.
4. method according to claim 3, is characterized in that, obtain described task switch information comprise obtain event type, the timestamp of acquisition event when occurring, the contextual information and obtaining that obtains task before switching switch after the contextual information of task;
When timestamp when the release information of the obtaining information and semaphore that obtain described semaphore includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain semaphore numbering ID, mission number ID when obtaining semaphore operations and acquisition event counter value;
When timestamp when the transmission information of the reception information and message that obtain described message includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain message queue numbering ID, the mission number ID of acquisition event when occurring and acquisition event counter value;
When timestamp when the delayed data obtaining described task comprises acquisition event type, acquisition event occurs, acquisition event occur, the value of programmable counter PC is to obtain and event counter value.
5. the method according to any one of Claims 1-4, is characterized in that, obtains causing the detailed process of the described event information switched between task be:
Timestamp when all events in described execution information occur according to described event by S31, described host sorts;
The information of the event that S32, rejecting and described application program have nothing to do;
S33, will the event switched between task be caused to be stripped out.
6. method according to claim 5, is characterized in that, in described step S4, the event information obtained according to described step S3 by described host, controls debugger and arrange breakpoint at the event origination point of described application program.
7. method according to claim 6, is characterized in that, in institute step S3, by the value of described mission number ID and programmable counter PC, at the task place of corresponding mission number ID, arranges breakpoint at corresponding PC value of program counter place.
8. method according to claim 7, is characterized in that, in described step S33, causes the event switched between task to be: described event be a described task switch information below.
9. method according to claim 8, it is characterized in that, the acquisition process of described task switching information is: if described synchronous event information or asynchronous event information is a described task switch information below, then this synchronous event or asynchronous event cause task switch, after described application program executes described synchronous event or asynchronous event, send described task switching information.
10. an application program playback system, is characterized in that, comprises host and target machine;
Described host arranges historical analysis device and reproducer; Described target machine arranges register;
Described register is used for the execution information in records application program implementation, and is uploaded to described host;
Described historical analysis device obtains causing the event information switched between task after being used for that described execution information is carried out treatment and analysis;
Described reproducer is used for arranging breakpoint according to described event information at the event origination point that described application program is corresponding, start described application program performs and described application program again performs and runs into breakpoint again, obtain task switching information according to described event information analytical calculation, and be handed down to described target machine.
11. systems according to claim 10, is characterized in that, described register is included in scheduling function and arranges probe, for obtaining task switch information;
Enter function and interruption in interruption to exit function place and arrange probe, for obtaining asynchronous event information;
Probe is set at the acquisition function of semaphore and the release function place of semaphore, for the release information of the obtaining information and semaphore that obtain semaphore;
Probe is set at the receiver function of message and the transmission function place of message, for the transmission information of the reception information and message that obtain message;
At task delay function, place arranges probe, for the delayed data of described task.
12. systems according to claim 11, is characterized in that, obtain described task switch information comprise obtain event type, the timestamp of acquisition event when occurring, the contextual information and obtaining that obtains task before switching switch after the contextual information of task;
When timestamp when the release information of the obtaining information and semaphore that obtain described semaphore includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain semaphore numbering ID, mission number ID when obtaining semaphore operations and acquisition event counter value;
When timestamp when the transmission information of the reception information and message that obtain described message includes and obtains event type, acquisition event occurs, acquisition event occur programmable counter PC value, obtain message queue numbering ID, the mission number ID of acquisition event when occurring and acquisition event counter value;
When timestamp when the delayed data obtaining described task comprises acquisition event type, acquisition event occurs, acquisition event occur, the value of programmable counter PC is to obtain and event counter value.
CN201410693931.4A 2014-11-26 2014-11-26 A kind of application program playback method and system Active CN104461521B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410693931.4A CN104461521B (en) 2014-11-26 2014-11-26 A kind of application program playback method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410693931.4A CN104461521B (en) 2014-11-26 2014-11-26 A kind of application program playback method and system

Publications (2)

Publication Number Publication Date
CN104461521A true CN104461521A (en) 2015-03-25
CN104461521B CN104461521B (en) 2018-11-13

Family

ID=52907632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410693931.4A Active CN104461521B (en) 2014-11-26 2014-11-26 A kind of application program playback method and system

Country Status (1)

Country Link
CN (1) CN104461521B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260312A (en) * 2015-10-26 2016-01-20 北京航空航天大学 Debugging method for multi-core real-time system application data race errors
CN106293922A (en) * 2016-08-16 2017-01-04 天津西瑞尔信息工程有限公司 Asynchronous task processing method and system
CN106888133A (en) * 2015-12-15 2017-06-23 中国电信股份有限公司 Using speed-measuring method and device
CN107515724A (en) * 2016-06-16 2017-12-26 伊姆西公司 For the method and apparatus for the input and output for reproducing storage system
CN108089971A (en) * 2017-11-27 2018-05-29 上海华元创信软件有限公司 Log services method and system based on embedded real time system
CN108196963A (en) * 2017-12-29 2018-06-22 中国电力科学研究院有限公司 Based on the certainty playback method adaptively discharged
CN108595313A (en) * 2018-03-08 2018-09-28 北京三快在线科技有限公司 Daily record generation method, device, electronic equipment and the storage medium of application program
CN109766170A (en) * 2018-11-21 2019-05-17 惠州Tcl移动通信有限公司 The dynamic method for restarting of memory, mobile terminal and its application program
CN110457121A (en) * 2019-07-26 2019-11-15 中国人民解放军军事科学院国防科技创新研究院 A kind of detecting probe method and device for supporting User space Real-time Task Dispatch
CN113377379A (en) * 2021-08-12 2021-09-10 四川腾盾科技有限公司 Simulator instruction instrumentation-based operating system information statistical method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 Dynamic probe method and application in embedded system thereof
CN101103337A (en) * 2005-01-21 2008-01-09 国际商业机器公司 Predictive method for managing, logging or replaying non-deterministic operations within the execution of an application process
CN102096634A (en) * 2010-12-31 2011-06-15 中国航空工业集团公司第六三一研究所 Airborne distributed node debugging method based on event level
CN102158355A (en) * 2011-03-11 2011-08-17 广州蓝科科技股份有限公司 Log event correlation analysis method and device capable of concurrent and interrupted analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101103337A (en) * 2005-01-21 2008-01-09 国际商业机器公司 Predictive method for managing, logging or replaying non-deterministic operations within the execution of an application process
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 Dynamic probe method and application in embedded system thereof
CN102096634A (en) * 2010-12-31 2011-06-15 中国航空工业集团公司第六三一研究所 Airborne distributed node debugging method based on event level
CN102158355A (en) * 2011-03-11 2011-08-17 广州蓝科科技股份有限公司 Log event correlation analysis method and device capable of concurrent and interrupted analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
左赋斌: "基于重放的并发程序调试技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
张旻等: "分布式系统监视器的设计与实现", 《微处理机》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260312B (en) * 2015-10-26 2018-04-06 北京航空航天大学 A kind of adjustment method of multinuclear real time system application data contention mistake
CN105260312A (en) * 2015-10-26 2016-01-20 北京航空航天大学 Debugging method for multi-core real-time system application data race errors
CN106888133A (en) * 2015-12-15 2017-06-23 中国电信股份有限公司 Using speed-measuring method and device
CN106888133B (en) * 2015-12-15 2019-11-15 中国电信股份有限公司 Using speed-measuring method and device
CN107515724A (en) * 2016-06-16 2017-12-26 伊姆西公司 For the method and apparatus for the input and output for reproducing storage system
CN106293922A (en) * 2016-08-16 2017-01-04 天津西瑞尔信息工程有限公司 Asynchronous task processing method and system
CN108089971A (en) * 2017-11-27 2018-05-29 上海华元创信软件有限公司 Log services method and system based on embedded real time system
CN108089971B (en) * 2017-11-27 2021-03-16 上海华元创信软件有限公司 Log service method and system based on embedded real-time system
CN108196963B (en) * 2017-12-29 2021-11-16 中国电力科学研究院有限公司 Deterministic replay method based on adaptive release
CN108196963A (en) * 2017-12-29 2018-06-22 中国电力科学研究院有限公司 Based on the certainty playback method adaptively discharged
CN108595313A (en) * 2018-03-08 2018-09-28 北京三快在线科技有限公司 Daily record generation method, device, electronic equipment and the storage medium of application program
CN108595313B (en) * 2018-03-08 2021-12-10 北京三快在线科技有限公司 Log generation method and device of application program, electronic equipment and storage medium
CN109766170A (en) * 2018-11-21 2019-05-17 惠州Tcl移动通信有限公司 The dynamic method for restarting of memory, mobile terminal and its application program
CN110457121A (en) * 2019-07-26 2019-11-15 中国人民解放军军事科学院国防科技创新研究院 A kind of detecting probe method and device for supporting User space Real-time Task Dispatch
CN113377379A (en) * 2021-08-12 2021-09-10 四川腾盾科技有限公司 Simulator instruction instrumentation-based operating system information statistical method
CN113377379B (en) * 2021-08-12 2021-11-16 四川腾盾科技有限公司 Simulator instruction instrumentation-based operating system information statistical method

Also Published As

Publication number Publication date
CN104461521B (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN104461521A (en) Application program playback method and system
US9483383B2 (en) Injecting faults at select execution points of distributed applications
CN101887393B (en) Equipment fault reproduction method and system based on para-virtualization technique
CN105718570A (en) Data migration method and device used for database
RU2008138698A (en) ABSTRACT MODEL FOR THE META-WORKING CYCLE BASED ON CONTINUED
CN102141947A (en) Method and system for processing abnormal task in computer application system adopting embedded operating system
US10565091B2 (en) Method and apparatus for automatic cross-system program debugging
CN107168879B (en) Method and device for generating test report of centralized configuration management system
US20140365833A1 (en) Capturing trace information using annotated trace output
EP2972824B1 (en) Computer system using in-service software upgrade
CN109213680A (en) Automated testing method based on embedded system simulation device
CN102279768A (en) Simulation apparatus, simulation program and simulation method
KR20180072860A (en) Self-diagnosis and automatic diagnostic data collection of device driver detection errors
CN103036947B (en) Virtual machine transferring method based on kernel-based virtual machine (KVM) and virtual machine transferring method based on KVM
CN101169758A (en) Linux operation system course dispatching information monitoring method
CN105630664B (en) Reverse debugging method and device and debugger
CN107506293B (en) Software performance data acquisition method and device
CN112346750B (en) Configuration software control method, system and storage medium
CN112541746A (en) Full-stack automatic arrangement method and system
CN117032903A (en) Simulation debugging method and device, storage medium and electronic equipment
US20190213108A1 (en) Method that supports multithreading/concurrent programming debugging, computer readable recording medium and computer program product
CN108491483B (en) Method and device for remotely monitoring running state of program
CN101256531B (en) Method for analysis of built-in equipment real-time property
CN111258893A (en) Mobile terminal application automatic testing device for randomly assembling transaction path
CN109857642A (en) A kind of the block type adjustment method and debugging tool of UI automatized script

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant