-if [ "$1" = "dbg" ]; then
- LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $ARGS $TRACEFILE
-elif [ "$1" = "valgrind" ]; then
- LD_LIBRARY_PATH=ltt/.libs valgrind $LTTV_EXEC $ARGS $TRACEFILE
-elif [ "$1" = "strace" ]; then
- LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $ARGS $TRACEFILE
+if [ -z "$MODE" ]; then
+ MODE=$DEFAULTMODE
+fi
+
+if [ "$MODE" = "text" ]; then
+ LIBS="$TEXTLIBS"
+elif [ "$MODE" = "gui" ]; then
+ LIBS="$GRAPHLIBS"
+else
+ echo "$PROGNAME: unknown mode -- $MODE" >/dev/stderr
+ exit 1
+fi
+
+LTTV_ARGS="$BOPTIONS $LIBS $TRACEFILES $AOPTIONS"
+if [ "$HELPER" = "gdb" ]; then
+ LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $LTTV_ARGS
+elif [ "$HELPER" = "valgrind" ]; then
+ LD_LIBRARY_PATH=ltt/.libs valgrind --track-origins=yes --show-reachable=yes --leak-check=full --error-limit=no $LTTV_EXEC $LTTV_ARGS
+elif [ "$HELPER" = "massif" ]; then
+ LD_LIBRARY_PATH=ltt/.libs valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS
+elif [ "$HELPER" = "strace" ]; then
+ LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $LTTV_ARGS