6 Debugging Applications

This chapter describes how to debug serial and parallel applications in the HP XC development environment. In general, effective debugging of applications requires the applications to be compiled with debug symbols, typically the -gswitch. Some compilers allow -gwith optimization.

This chapter addresses the following topics:

“Debugging Serial Applications” (page 63)

“Debugging Parallel Applications” (page 63)

6.1Debugging Serial Applications

You can debug a serial application on an HP XC system with the same method you would use to debug a serial application on a conventional Linux operating system. For information about debugging serial programs, see the standard Linux documentation.

The following serial debuggers are available for use in the HP XC environment for local debugging:

The gdb utility is provided with the standard Linux distribution; it performs line-mode debugging of a single process.

The idb utility is generally available with the Intel compiler suite.

The pgdbg utility is generally available with the PGI compilers.

For information about using these debuggers, see the standard Linux documentation and the documentation that is available with the specific debugger that you are using.

6.2 Debugging Parallel Applications

The following parallel debuggers are recommended for use in the HP XC environment are TotalView and DDT.

TotalView

TotalView is a full-featured GUI debugger for debugging parallel applications from Etnus, Inc. It is specifically designed to meet the requirements of parallel applications running on many cores. The use of TotalView in the HP XC environment is described in “Debugging with TotalView”. You can obtain additional information about TotalView from the TotalView documentation and the TotalView Web site at:

http://www.etnus.com

Note:

TotalView is not included with the HP XC software and is not supported. If you have any problems installing or using TotalView, contact Etnus, Inc.

DDT

DDT (Distributed Debugging Tool) is a parallel debugger from Streamline Computing. DDT is a comprehensive graphical debugger designed for debugging parallel code. It gives users a common interface for most compilers, languages and MPI distributions. For information about using DDT, see the Streamline Computing documentation and the Streamline Computing Web site:

http://www.streamline-computing.com/softwaredivision_1.shtml

6.1 Debugging Serial Applications

63