profile, gprof, sanitize
This commit is contained in:
@@ -8,6 +8,7 @@ prof_files=$(find "$OBJDIR/profile/" -name '*.gcda')
|
||||
if [ -z "$prof_files" ]; then
|
||||
myprint "${YELLOW}no profiling info found"
|
||||
else
|
||||
myprint "${GREEN}profiling info found"
|
||||
for prof_file in $prof_files; do
|
||||
myprint "${GRAY}$(basename $prof_file)"
|
||||
cp $prof_file "$OBJDIR/objects/"
|
||||
|
||||
20
default_tasks/gprof.sh
Normal file
20
default_tasks/gprof.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd "$OUTDIR"
|
||||
|
||||
# deleting all files except excutable
|
||||
echo "$(find . ! -name $EXEC_FILE -type f -delete)"
|
||||
|
||||
# executing file compiled with -pg
|
||||
myprint "${BLUE}executing $OUTDIR/$EXEC_FILE"
|
||||
./$EXEC_FILE > exec.log
|
||||
myprint "${GREEN}execution log saved to ${CYAN}$OUTDIR/exec.log"
|
||||
|
||||
# generating function call graph
|
||||
myprint "${BLUE}generating function call graph..."
|
||||
gprof ./$EXEC_FILE > gprof.log
|
||||
gprof2dot gprof.log > gprof2dot.graph
|
||||
dot gprof2dot.graph -Tpng -Gdpi=300 -o gprof2dot.png
|
||||
myprint "${GREEN}function call graph saved to ${CYAN}$OUTDIR/gprof2dot.png"
|
||||
|
||||
cd ../..
|
||||
@@ -5,7 +5,7 @@ cd "$OUTDIR"
|
||||
# deleting all files except excutable
|
||||
echo "$(find . ! -name $EXEC_FILE -type f -delete)"
|
||||
|
||||
# executing file compiled with -pg and -fprofile-gen
|
||||
# executing file compiled with -fprofile-gen
|
||||
myprint "${BLUE}executing $OUTDIR/$EXEC_FILE"
|
||||
./$EXEC_FILE > exec.log
|
||||
myprint "${GREEN}execution log saved to ${CYAN}$OUTDIR/exec.log"
|
||||
@@ -15,11 +15,4 @@ clean_dir ../../$OBJDIR/profile
|
||||
mv ../../$OBJDIR/objects/*.gcda ../../$OBJDIR/profile/
|
||||
myprint "${GREEN}$(ls ../../$OBJDIR/profile | wc -l) *.gcda profiling files have written to $OBJDIR/profile"
|
||||
|
||||
# generating function call graph
|
||||
myprint "${BLUE}generating function call graph..."
|
||||
gprof ./$EXEC_FILE > gprof.log
|
||||
gprof2dot gprof.log > gprof2dot.graph
|
||||
dot gprof2dot.graph -Tpng -Gdpi=300 -o gprof2dot.png
|
||||
myprint "${GREEN}function call graph saved to ${CYAN}$OUTDIR/gprof2dot.png"
|
||||
|
||||
cd ../..
|
||||
|
||||
Reference in New Issue
Block a user