Debugging & Profiling

Initial setups

  • Core file settings - this page contains some environment variables that allow you to control code file creation and contents.
  • Using VNC with a Debugger - when displaying an X11 client (e.g. Totalview) remotely over the network, interactive response is typically slow. Using the VNC server can often help you improve the situation.

Debugging Tools

  • Allinea DDT - is the most advanced debugging tool available for scalar, multi-threaded and large-scale parallel applications. It debugs code on: workstations, GPUs, clusters and the very largest supercomputers.
  • bgq_stack - is a script developed at ALCF that uses addr2line to print a symbolic version of the stack in a BG/P core file.
  • Coreprocessor debugger - is a basic tool that enables parallel debug of problems at all levels (hardware, kernel, and application).
  • The GNU Project Debugger - gdb allows you to see what is going on 'inside' another program while it executes -- or what another program was doing at the moment it crashed.
  • Totalview - TotalView is a GUI-based source code defect analysis tool that gives you unprecedented control over processes and thread execution and visibility into program state and variables.

Common Debugging Issues

  • Determining Memory Use - learn how to use the glibc mallinfo call along with the BG/P personality to get the information on used/available memory in your code.