Skip to content
Snippets Groups Projects
Commit b63f725c authored by Valentin Perrelle's avatar Valentin Perrelle Committed by Andre Maroneze
Browse files

[devel-tools] Add a helper to invoke frama-c within valgrind/callgrind

parent 1c3c2f62
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
# Script for profiling Frama-C with callgrind (a valgrind tool).
# Note: execution time with valgrind is about 15x-20x slower.
#
# Use this script at the root of the repository, so local_export.sh can be found
# in bin.
# For more focused results, you can activate the profiling only after entering
# a specific function. For instance, to only profile Eva, add
#
# --toggle-collect='*Eva__Analysis__force_compute*'
#
# to the command line below.
#
# Example of invocation :
#
# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow
#
# This creates a 'callgrind.out' file (Callgrind format), which can be viewed
# with a tool such as kcachegrind:
#
# kcachegrind callgrind.out
BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin
. bin/local_export.sh
valgrind \
--tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \
--separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \
$BINDIR/toplevel.opt "$@"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment