1#!/bin/sh 2 3PROGRAM_PATH=$(dirname "$0") 4PROGRAM_NAME=$(basename "$0" | sed 's/-\?valgrind$//') 5 6if [ -z "$PROGRAM_NAME" ]; then 7 echo "Not to be run directly" 8 exit 1 9fi 10 11PROGRAM="" 12for i in "$PROGRAM_PATH/.libs/$PROGRAM_NAME" "$PROGRAM_PATH/.libs/lt-$PROGRAM_NAME" "$PROGRAM_PATH/$PROGRAM_NAME"; do 13 if [ -x "$i" ]; then 14 PROGRAM=$i 15 break 16 fi 17done 18 19if [ -n "$PROGRAM" ]; then 20 LOG_FILE="$PROGRAM_PATH/$PROGRAM_NAME-valgrind.log" 21 LD_LIBRARY_PATH="$PROGRAM_PATH/../../src/.libs" valgrind \ 22 --tool=memcheck --leak-check=full --show-reachable=yes --track-origins=yes \ 23 --trace-children=yes --child-silent-after-fork=yes --track-fds=yes \ 24 --log-file="$LOG_FILE" "$PROGRAM" $@ 25 echo "valgrind output is in file \"$LOG_FILE\"" 26else 27 echo "$PROGRAM_NAME not found" 28fi 29