Font Size: a A A

Concurrent Program Debugging Based On Replay

Posted on:2006-07-10Degree:MasterType:Thesis
Country:ChinaCandidate:F B ZuoFull Text:PDF
GTID:2178360212982639Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the wide use of concurrent programs, it is more and more important for debugging of them. The method of traditional cyclic debugging is to set breakpoints, look up the states of breakpoints, and execute the source multiple times. Because the results of execution are determined by the input, this method is efficient for sequent programs. But it does not work well for concurrent programs.Firstly,concurrent programs'concurrency and determinism result that even with the same input it will get different results or different execution paths when executing the programs. Making the error occur repeatedly is the precondition of detecting and correcting the errors, but if traditional cyclic debugging method is used on it, the error states may not occur. So we need a mechanism to force the programs to execute deterministicly. Secondly, programmers want to have a general idea about the interaction of concurrent processes; but it is impossible to extract the communication relationship of concurrent processes by manual reading source. Without the general idea about the interaction, programmers analyze and comprehend the programs difficultly due to switching among processes and they are likely to get into a mess. In order to improve the debugging efficiency, we extract the communication among processes and visualize it to programmers.For the reasons stated above, we have researched and developed an analysis and debugging tool for concurrent programs, which consists of concurrent programs debugging tool based on replay and communication relationship extraction tool. This tool is used to analyze and debug concurrent programs which are written in C and use message queues and share-memory as communication mechanism.
Keywords/Search Tags:concurrent program, software debug, process, message queue, inter-process communication, trace and replay
PDF Full Text Request
Related items