Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1998-08-07
2001-08-14
Beausoleil, Robert (Department: 2785)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C717S152000
Reexamination Certificate
active
06275956
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an integrated dynamic-visual parallel debugging apparatus and method thereof for a debugging parallel program carried out in a high speed parallel computer (called SPAX hereinafter).
2. Description of the Prior Art
There are static debugging and dynamic debugging in conventional program debugging technology of program developing environment, particularly, in a parallel program debugging field. Specifically, in the dynamic debugging, cyclical debugging has been used representatively. This cyclical debugging is properly applicable to debugging of a sequential program having a single deterministic route for the program execution, but it has limitation in application to the debugging of the parallel program where the single execution route is not deterministic.
SUMMARY OF THE INVENTION
Accordingly, the present invention is directed to an integrated dynamic-visual parallel debugging apparatus and method thereof that substantially obviates one or more of the limitations and disadvantages of the related art.
An object of the present invention is to provide an integrated dynamic-visual parallel debugging apparatus and method for offering concentrated error debugging function with respect to an access to a shared memory between threads and message-passing interface (MPI) communication between processes where error occurrence is predicted, by providing a dynamic cyclical debugging function based upon the guarantee of an execution route, displaying a result of debugging in the form of a text, showing an execution flow of a program being debugged with a visual view, and automatically performing view mapping with respect to an execution point where error occurrence is predicted in a parallel program, while the debugging of the parallel program is performed at an SPAX.
For the accurate debugging of the parallel program within a minimum time, replaying of the execution route where errors occurred should be guaranteed and the result of the debugging with respect to the point where the error occurrence is predicted, such as the communication between processes (threads) or the access to a shared memory, should be analyzed and displayed in the various forms of visual views. Technologically speaking, the execution of the program to be debugged should be recorded in the form of a log file, and, on the basis of the log file should be simultaneously performed both replay of the overall program and graphical view display of each debugging point. To achieve those things, a debugger should automatically map textual values, such as program variables and communication functions, into each corresponding point in a graphical view which is visually displayed on a screen during the dynamic debugging.
Accordingly, the object of the present invention is to build integrated dynamic-visual debugging environment where the result of debugging displayed as textual and graphical views is exactly searched on the basis of the execution log file and mapped into the graphical view, thereby simultaneously achieving both dynamic and visual debugging.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure as illustrated in the written description and claims hereof, as well as the appended drawings.
To achieve these and other advantages, and in accordance with the purpose of the present invention as embodied and broadly described, an integrated dynamic-visual parallel debugging apparatus includes: a replay drive means for receiving a program and creating program symbol table information and an execution log file through reference execution; a parallel debugger core for receiving the program symbol table information and the execution log file from the replay drive means and managing views and events; and a graphical user interface means for interfacing the parallel debugger core and a user. The replay drive means receives a multithreaded program or an message-passing interface (MPI) program, uses an event capture library to define an event to be captured, and calls out and runs a thread replay module or an MPI replay module according to the program received. The replay drive means also uses a replay library to make an original program follow an execution order identical to reference execution by referring the execution log file created during the reference execution. The parallel debugger core includes: a view manager for managing a window through which a result of debugging is displayed; a controller for controlling execution of a program to be debugged; and an event manager for managing debugging events. The graphical user interface means includes: a source text view browser for displaying a result of debugging in a textual view pattern and providing a dialog and menu for supporting debugging events and control functions and a function of calling back functions corresponding to the menu and dialog; a graphical view browser for supporting graphical views showing execution of a program being debugged and having control functions necessary for view animation; and a textual/graphical view mapper having a function of mapping events displayed in textual and graphical patterns.
In another aspect, the present invention provides an integrated dynamic-visual parallel debugging method including the steps of: entering information for visual debugging while performing dynamic cyclical debugging on a textual view window and requesting textual/graphical mapping; notifying a result of searching an execution log file to find out a mapping object event to a graphical view browser and a dialog of which have been requested mapping; displaying flow of execution of a program being debugged; performing the visual debugging by repeatedly animating the execution flow of the program which is currently displayed; examining an execution state at a point where the program stops because of a debugging event on various textual view windows regardless of progress of the visual debugging; and requesting textual/graphical view mapping in synchronization with the examining step above. All the steps are repeatedly performed until a user terminates operation of a parallel debugger or finds an error. The mapping object event in a textual/graphical view mapping dialog, a unique number of a process or a thread which executes the mapping object event, a total number of times that the mapping object event is executed before reaching an end point of the mapping, and a desired graphical view are entered at the step of requesting the textual/graphical mapping. The step of displaying the execution flow includes steps of: initializing the graphical view browser according to notification of a fact that the mapping object event exists in the execution log file; reading out of the execution log file before reaching a point where the mapping object event is located; and displaying the execution flow of the program being debugged on a selected graphical view window. The visual debugging step is performed independently of the dynamic debugging and uses a view control function. At the visual debugging step, the execution flow of the program is read out of the execution log file consecutively from a point where the mapping object event is located and animated. The dynamic cyclical debugging is repeated on the textual view window displayed on a screen at the step of the examining the execution state.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
REFERENCES:
patent: 5021948 (1991-06-01), Nakayama et al.
patent: 5210859 (1993-05-01), Aoshima et all
patent: 5361352 (1994-11-01), Iwasawa
patent: 5375125 (1994-12-01), Oshima et al.
patent: 5426648 (1995-06-01), Simamiura
patent: 5581696
Chi Dong Hae
Lee Bum Sik
On Gi Won
Park Chee Hang
Antonelli Terry Stout & Kraus LLP
Beausoleil Robert
Bonzo Bryce P.
Electronics and Telecommunications Research Institute
LandOfFree
Integrated dynamic-visual parallel debugging apparatus and... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Integrated dynamic-visual parallel debugging apparatus and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Integrated dynamic-visual parallel debugging apparatus and... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2469272