PGDBG Graphical Symbolic Debugger


A partial list of technical features supported includes the following:

PGDBG OpenMP & MPI Debugger
(included with PGI Workstation class and PGI Server class products and the PGI CDK)

  • Debug F77, F95, C and C++ programs
  • Debug assembly language
  • Debug parallel OpenMP and MPI programs.
  • Supports MPICH, MPICH-2, MVAPICH, OpenMPI, HP-MPI and MSMPI libraries
  • Supports pthreads on Linux and Mac OS X, and native threads on Windows.
  • The PGI CDK debugger supports process-level MPI debugging, thread-level OpenMP debugging and hybrid combinations of MPI and OpenMP debugging support for up to a maximum of 256 MPI processes + OpenMP threads.
  • Supports thread-level OpenMP debugging up to a maximum of 64 threads per process.
  • Examine message queues
  • Debug shared objects loaded at randomized addresses on Linux, dynamic libraries on Mac OS X and DLL's on Windows
  • DBX compatible commands
  • One touch breakpoint setting
  • Step into, over or out of functions
  • Watchpoints
  • Traceback
  • One touch symbolic display
  • Read and process core files
  • Multiple format display of values or strings
  • Log files
  • Comprehensive built-in help facilities
  • Interoperable with GNU and other compilers that generate DWARF format debugging information.


  • Main window with Source Code Panel and Thread/Process Grid Panel
  • Source Panel displays source code, assembly code or an interleaved mix along with breakpoints
  • Thread/Process Grid Panel displays thread/process state in color and active thread/process status summary
  • Run control buttons
  • Register subwindow for formatted register states
  • Memory subwindow for formatted memory segments
  • Custom Display subwindow—track variables and array sections in multiple formats
  • Messages subwindow displays the MPI state

PGDBG Process/Thread Control

  • Control OpenMP threads individually or collectively
  • Control processes individually or collectively
  • Auto-detect MPI processes
  • Auto-detect OpenMP threads
  • Attach to a running MPI, OpenMP, and hybrid parallel programs. PGDBG automatically acquires each MPI process, and OpenMP thread
  • View OpenMP private data
  • Inspect the MPI message queues for each MPI process
  • Color-coded process/thread state
  • Synchronize threads/processes
  • For each process or thread:
    - Break, Next, Step, Continue, Wait or Halt
    - Display of process/thread status and location
    - Switch contexts between threads/processes