Melchior FRANZ:
There weren't changes to this script in a while -- it almost looks like dead code, but isn't. I'm using this regularly. valgrind works better than ever (version 3.0 coming out soon, and the alpha already very usable). New address: http://www.valgrind.org/
This commit is contained in:
parent
86249209b9
commit
6786e2bbf1
1 changed files with 22 additions and 11 deletions
|
@ -3,8 +3,8 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# To use this script you need
|
# To use this script you need
|
||||||
# - a Linux 2.4 system with libc 2.2.* and at least XFree86 4.1
|
# - a Linux system >=2.4 with libc >=2.2.*
|
||||||
# - the valgrind debugger (http://developer.kde.org/~sewardj/)
|
# - the valgrind debugger (http://www.valgrind.org/)
|
||||||
# - lots of memory (RAM + swap space > 600MB!) and
|
# - lots of memory (RAM + swap space > 600MB!) and
|
||||||
# - a fast computer =or= a lot of patience.
|
# - a fast computer =or= a lot of patience.
|
||||||
#
|
#
|
||||||
|
@ -25,11 +25,9 @@
|
||||||
# adapt the following two entries to your needs:
|
# adapt the following two entries to your needs:
|
||||||
#
|
#
|
||||||
fgfs="../../src/Main/fgfs"
|
fgfs="../../src/Main/fgfs"
|
||||||
opt="--disable-game-mode --disable-fullscreen --fdm=magic"
|
opt="--log-level=info --disable-game-mode --aircraft=ufo --geometry=800x600"
|
||||||
|
|
||||||
|
gdb="--db-attach=yes"
|
||||||
|
|
||||||
gdb="--gdb-attach=yes"
|
|
||||||
cmd=
|
cmd=
|
||||||
extra=
|
extra=
|
||||||
|
|
||||||
|
@ -39,20 +37,27 @@ while true; do
|
||||||
debug [-r] [-g] [-i] [-b] [-c] [-x] [-h]
|
debug [-r] [-g] [-i] [-b] [-c] [-x] [-h]
|
||||||
|
|
||||||
-r run fgfs
|
-r run fgfs
|
||||||
-g run fgfs with gdb
|
-g|-d run fgfs with gdb
|
||||||
|
-D run fgfs with ddd
|
||||||
-i interactive valgrind run (default)
|
-i interactive valgrind run (default)
|
||||||
|
-p calltree profile run
|
||||||
-b valgrind batch run
|
-b valgrind batch run
|
||||||
-c start gdb with most recent core dump
|
-c start gdb with most recent core dump
|
||||||
-x add some extra pedantic valgrind parameters
|
-s print suppression info
|
||||||
|
-l enable leak/reachable check
|
||||||
-h show this help screen
|
-h show this help screen
|
||||||
EOF
|
EOF
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
-r) cmd="$fgfs $opt" ;;
|
-r) cmd="$fgfs $opt" ;;
|
||||||
-g) cmd="gdb -x .gdbinit $fgfs" ;;
|
-g|-d) cmd="gdb -x .gdbinit $fgfs" ;;
|
||||||
|
-D) cmd="ddd -x .gdbinit $fgfs" ;;
|
||||||
|
-m) cmd="make -C ../.." ;;
|
||||||
-i) cmd=""; gdb="" ;;
|
-i) cmd=""; gdb="" ;;
|
||||||
|
-p) cmd="calltree $fgfs"; gdb="" ;;
|
||||||
-b) gdb="" ;;
|
-b) gdb="" ;;
|
||||||
-x) extra="--single-step=yes --optimise=no --cleanup=no --dump-error=1" ;;
|
-s) extra="$extra --gen-suppressions=yes" ;;
|
||||||
|
-l) extra="$extra --leak-check=yes --show-reachable=yes" ;;
|
||||||
-c) core=$(ls -t core* 2>/dev/null|head -1)
|
-c) core=$(ls -t core* 2>/dev/null|head -1)
|
||||||
if test -z $core; then
|
if test -z $core; then
|
||||||
echo "$0: there's no core file"
|
echo "$0: there's no core file"
|
||||||
|
@ -74,8 +79,14 @@ echo "set args $opt" > .gdbinit
|
||||||
|
|
||||||
test -e fgfs.supp || head -14 sample.fgfs.supp > fgfs.supp
|
test -e fgfs.supp || head -14 sample.fgfs.supp > fgfs.supp
|
||||||
|
|
||||||
test -z "$cmd" && cmd="nice valgrind $gdb --num-callers=10 --suppressions=fgfs.supp $extra $* $fgfs $opt"
|
test -z "$cmd" && cmd="nice valgrind \
|
||||||
|
--tool=memcheck $gdb --num-callers=64 \
|
||||||
|
--suppressions=fgfs.supp \
|
||||||
|
--error-limit=no \
|
||||||
|
$extra $* $fgfs $opt"
|
||||||
|
|
||||||
echo "command: $cmd"
|
echo "command: $cmd"
|
||||||
|
#export LD_PRELOAD='/usr/lib/GL/libGL.so.1.3.mesasoft'
|
||||||
|
#export __GL_FORCE_GENERIC_CPU=1
|
||||||
exec $cmd
|
exec $cmd
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue