Runtime Systems and Tools: Parallel Debugging
Charm++ offers a variety of parallel debugging options, from the extremely basic to the extremely sophisticated. The traditional debugging methods, such as logging (via the CkPrintf routine) and interactive debugging (via the "++debug" command line option) are supported under Charm++.

In addition, Charm++ offers several additional features designed to simplify application development. Linking with "-memory paranoid" checks all dynamic heap allocation calls for common errors, such as double-delete, random-delete, read-after-delete, buffer over- and under-write errors. Charm++, when compiled without "-DCMK_OPTIMIZE", contains hundreds of assertions to catch invalid parameters and unintialized data passed to API routines.

We are working on a sophisticated parallel debugger, with the ability to set breakpoints, examine variables, objects, and messages across the entire machine. The design of this debugger is described in the paper below.
People
Papers/Talks
10-23
2010
[Paper]
Debugging Parallel Applications via Provisional Execution [PPL Technical Report 2010]
| Filippo Gioachin | Laxmikant Kale
10-22
2010
[PhD Thesis]
Debugging Large Scale Applications with Virtualization [Thesis 2010]
| Filippo Gioachin
10-12
2010
[Paper]
Robust Non-Intrusive Record-Replay with Processor Extraction [PADTAD 2010]
| Filippo Gioachin | Gengbin Zheng | Laxmikant Kale
10-11
2010
[Paper]
Debugging Large Scale Applications in a Virtualized Environment [LCPC 2010]
| Filippo Gioachin | Gengbin Zheng | Laxmikant Kale
09-03
2009
[Paper]
Scalable Interaction with Parallel Applications [TeraGrid 2009]
| Filippo Gioachin | Chee Lee | Laxmikant Kale
08-08
2009
[Paper]
Dynamic High-Level Scripting in Parallel Applications [IPDPS 2009]
| Filippo Gioachin | Laxmikant Kale
08-06
2008
[Paper]
Memory Tagging in Charm++ [PADTAD 2008]
| Filippo Gioachin | Laxmikant Kale
04-04
2004
[Paper]
Debugging Support for Charm++ [PADTAD 2004]
| Rashmi Jyothi | Orion Lawlor | Laxmikant Kale
03-13
2003
[MS Thesis]
Debugging Support for Charm++ [Thesis 2003]
| Rashmi Jyothi
99-04
1999
[Paper]
Mulitlingual Debugging Support for Data-driven and Thread-basedParallel Languages [LCPC 1999]
| Parthasarathy Ramachandran | Laxmikant Kale