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: 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: a script developed at ALCF that uses addr2line to print a symbolic version of the stack in a BG/P core file.
  • Coreprocessor debugger: 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: 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.