From 4a426d89002034ed1c127624cae95b4a7f540dd1 Mon Sep 17 00:00:00 2001 From: practicalswift Date: Sun, 12 Nov 2017 17:07:35 +0100 Subject: [PATCH] Add note about Valgrind suppressions file in developer-notes.md --- doc/developer-notes.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/developer-notes.md b/doc/developer-notes.md index d783a7a8ae..de0026a0a5 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -165,6 +165,21 @@ can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks are held, and adds warnings to the debug.log file if inconsistencies are detected. +**Valgrind suppressions file** + +Valgrind is a programming tool for memory debugging, memory leak detection, and +profiling. The repo contains a Valgrind suppressions file +([`valgrind.supp`](https://github.com/bitcoin/bitcoin/blob/master/contrib/valgrind.supp)) +which includes known Valgrind warnings in our dependencies that cannot be fixed +in-tree. Example use: + +```shell +$ valgrind --suppressions=contrib/valgrind.supp src/test/test_bitcoin +$ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \ + --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite +$ valgrind -v --leak-check=full src/bitcoind -printtoconsole +``` + Locking/mutex usage notes -------------------------