X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=runlttv;h=70e9bf55adb74ee9f6e27164dff2d3d521a712ea;hb=e40cdd19296a4fbacf0738fb3671f6d0503d9e99;hp=e26fc6ff05b7ab5d9f644fc7f1ba5c0a509da9c9;hpb=697977bbabfda699894a1a5d921214191a9b31d9;p=lttv.git diff --git a/runlttv b/runlttv index e26fc6ff..70e9bf55 100755 --- a/runlttv +++ b/runlttv @@ -11,46 +11,52 @@ # while in the same directory as this script. PROGNAME=$0 +BUILDPATH=$(dirname $0) RCFILE="$(dirname $0)/.runlttvrc" -TEXTLIBS="-L lttv/modules/text/.libs -m textDump" -GRAPHLIBS="-L lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ -"-L lttv/modules/gui/controlflow/.libs -m guicontrolflow "\ -"-L lttv/modules/gui/detailedevents/.libs -m guievents "\ -"-L lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ -"-L lttv/modules/gui/statistics/.libs -m guistatistics "\ -"-L lttv/modules/gui/resourceview/.libs -m resourceview "\ -"-L lttv/modules/gui/filter/.libs -m guifilter "\ -"-L lttv/modules/gui/interrupts/.libs -m interrupts "\ -"-L lttv/modules/gui/histogram/.libs -m guihistogram" +TEXTLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m textDump" +FORMATEDLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m formatedDump" +EVALLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m sync_chain_batch" +GRAPHLIBS="-L ${BUILDPATH}/lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ +"-L ${BUILDPATH}/lttv/modules/gui/detailedevents/.libs -m guievents "\ +"-L ${BUILDPATH}/lttv/modules/gui/histogram/.libs -m guihistogram "\ +"-L ${BUILDPATH}/lttv/modules/gui/resourceview/.libs -m resourceview "\ +"-L ${BUILDPATH}/lttv/modules/gui/controlflow/.libs -m guicontrolflow" +#"-L ${BUILDPATH}/lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ +#"-L ${BUILDPATH}/lttv/modules/gui/statistics/.libs -m guistatistics "\ +#"-L ${BUILDPATH}/lttv/modules/gui/filter/.libs -m guifilter "\ +#"-L ${BUILDPATH}/lttv/modules/gui/interrupts/.libs -m interrupts " + DEFAULTMODE="gui" -function usage { +usage () { echo "Usage: $0 [OPTION]... [TRACE]..." >/dev/stderr echo "" >/dev/stderr echo "Options:" >/dev/stderr - echo -e "\t-m MODE Output mode (modes: text, gui)" >/dev/stderr - echo -e "\t-H HELPER Invoke LTTV through a helper program" >/dev/stderr - echo -e "\t (helpers: gdb, valgrind, massif, strace)" >/dev/stderr - echo -e "\t-b OPTIONS LTTV options to specify before the module list" >/dev/stderr - echo -e "\t-a OPTIONS LTTV options to specify after the module list" >/dev/stderr + printf "\t-m MODE Output mode (modes: text, eval, gui)\n" >/dev/stderr + printf "\t-H HELPER Invoke LTTV through a helper program\n" >/dev/stderr + printf "\t (helpers: gdb, valgrind, massif, strace, callgrind)\n" >/dev/stderr + printf "\t-b OPTIONS LTTV options to specify before the module list\n" >/dev/stderr + printf "\t-a OPTIONS LTTV options to specify after the module list\n" >/dev/stderr + printf "\t-d Activate LTTV debug level\n" >/dev/stderr echo "" >/dev/stderr } -if [ -e "lttv/lttv/.libs/lttv.real" ]; then - LTTV_EXEC="lttv/lttv/.libs/lttv.real" -elif [ -e "lttv/lttv/lttv.real" ]; then - LTTV_EXEC="lttv/lttv/lttv.real" +if [ -e "${BUILDPATH}/lttv/lttv/.libs/lttv.real" ]; then + LTTV_EXEC="${BUILDPATH}/lttv/lttv/.libs/lttv.real" +elif [ -e "${BUILDPATH}/lttv/lttv/lttv.real" ]; then + LTTV_EXEC="${BUILDPATH}/lttv/lttv/lttv.real" else echo "error: LTTV should be compiled before running this script." >/dev/stderr exit 1 fi -while getopts "H:m:b:a:h" options; do +while getopts "H:m:b:a:dh" options; do case $options in H) HELPER=$OPTARG;; m) MODE=$OPTARG;; b) BOPTIONS="$BOPTIONS $OPTARG";; a) AOPTIONS="$AOPTIONS $OPTARG";; + d) DEBUG_ARGS="--debug"; G_MESSAGES_DEBUG="all";; h) usage; exit 0;; \?) usage; @@ -65,7 +71,7 @@ do done if [ -e "$RCFILE" ]; then - source "$RCFILE"; + . "$RCFILE"; fi if [ -z "$MODE" ]; then @@ -74,6 +80,10 @@ fi if [ "$MODE" = "text" ]; then LIBS="$TEXTLIBS" +elif [ "$MODE" = "format" ]; then + LIBS="$FORMATLIBS" +elif [ "$MODE" = "eval" ]; then + LIBS="$EVALLIBS" elif [ "$MODE" = "gui" ]; then LIBS="$GRAPHLIBS" else @@ -81,15 +91,17 @@ else exit 1 fi -LTTV_ARGS="$BOPTIONS $LIBS $TRACEFILES $AOPTIONS" +LTTV_ARGS="$DEBUG_ARGS $BOPTIONS $LIBS $TRACEFILES $AOPTIONS" if [ "$HELPER" = "gdb" ]; then - LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} 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 + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --show-reachable=yes --leak-check=full --tool=memcheck --suppressions=debug/gtk.suppression --track-origins=yes --error-limit=no $LTTV_EXEC $LTTV_ARGS +elif [ "$HELPER" = "callgrind" ]; then + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=callgrind $LTTV_EXEC $LTTV_ARGS elif [ "$HELPER" = "massif" ]; then - LD_LIBRARY_PATH=ltt/.libs valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS elif [ "$HELPER" = "strace" ]; then - LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} strace $LTTV_EXEC $LTTV_ARGS else - LD_LIBRARY_PATH=ltt/.libs $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} $LTTV_EXEC $LTTV_ARGS fi