Debugging Support for Charm++
Authors:
Rashmi Jyothi
Parallel Programming Laboratory, Department of Computer Science, University
of Illinois at Urbana-Champaign
University of Illinois Computer Science 2003 Master's Thesis
The approaches adopted so far for debugging programs written in Charm++, a data driven parallel programming language, have been the traditional logging method via printf statements and the "++debug" command-line option which runs the parallel program attaching an instance of a standard sequential debugger like gdb to every individual process of the parallel program. This thesis presents the implementation of a parallel debugger for Charm++ which extends the existing debugging support for Charm++ and among its functionalities includes the capability to set breakpoints, examine variables, objects and messages in queues across the parallel set-up. Also outlined is a simple record and replay mechanism for Charm++ to replay message execution in a recorded order of occurrence. This approach is extremely useful in debugging a parallel program when a bug manifests itself because of an unusual ordering of events.