...
-check bounds
to pinpoint any array subscript or substring references that are out of declared bounds at runtime.malloc()
are overrun or where there is an attempt to touch a memory allocation that has already been freed. Although the Electric Fence documentation will say that it can be used to debug MPI codes this does not work on the AC. It appears that the start-up procedure for the executable linked with -lefence
invokes some memory allocations that interfere with the SGI mpirun start-up. Code must be linked with the libefence.a library before being executed.Mudflap is part of the more recent versions of gcc/g++
. To use mudflap you need to do at least
Code Block | ||
---|---|---|
| ||
$ gcc prog.c -fmudflap -lmudflap $ a.out |
The environment variable MUDFLAP_OPTIONS
can be used to control the output from mudflap. See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging for here for more details.TotalView: https://opus.nci.org.au/display/Help/