Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork701
Debugging
John Cupitt edited this pageApr 8, 2017 ·1 revision
Debug build:
$ CFLAGS="-g -Wall" CXXFLAGS="-g -Wall" \./configure --prefix=/home/john/vips --enable-debug$ make$ make install
Leak check:
$ export G_DEBUG=gc-friendly$ valgrind --suppressions=libvips.supp \--leak-check=yes \vips ... > vips-vg.log 2>&1
Memory error debug:
$ valgrind --vgdb=yes --vgdb-error=0 vips ...
valgrind threading check:
$ valgrind --tool=helgrind vips ... > vips-vg.log 2>&1
Clang build:
$ CC=clang CXX=clang++ ./configure --prefix=/home/john/vips
Clang static analysis:
$ scan-build ./configure --disable-introspection --disable-debug$ scan-build -o scan -v make $ scan-view scan/2013-11-22-2
Clang dynamic analysis:
$ FLAGS="-O1 -g -fsanitize=address"$ FLAGS="$FLAGS -fno-omit-frame-pointer -fno-optimize-sibling-calls"$ CC=clang CXX=clang++ LD=clang \CFLAGS="$FLAGS" CXXFLAGS="$FLAGS" LDFLAGS=-fsanitize=address \./configure --prefix=/home/john/vips $ FLAGS="-O1 -g -fsanitize=thread"$ FLAGS="$FLAGS -fPIC"$ FLAGS="$FLAGS -fno-omit-frame-pointer -fno-optimize-sibling-calls"$ CC=clang CXX=clang++ LD=clang \CFLAGS="$FLAGS" CXXFLAGS="$FLAGS" \LDFLAGS="-fsanitize=thread -fPIC" \./configure --prefix=/home/john/vips \--without-magick \--disable-introspection$ G_DEBUG=gc-friendly vips copy ~/pics/k2.jpg x.jpg >& log
Build with the GCC auto-vectorizer and diagnostics (or just -O3):
$ FLAGS="-O2 -msse4.2 -ffast-math"$ FLAGS="$FLAGS -ftree-vectorize -fdump-tree-vect-details"$ CFLAGS="$FLAGS" CXXFLAGS="$FLAGS" \./configure --prefix=/home/john/vips
Static analysis with:
$ cppcheck --force --enable=style . &> cppcheck.log