Changeset View
Changeset View
Standalone View
Standalone View
doc/developer-notes.md
Show First 20 Lines • Show All 209 Lines • ▼ Show 20 Lines | |||||
**DEBUG_LOCKORDER** | **DEBUG_LOCKORDER** | ||||
Bitcoin Core is a multithreaded application, and deadlocks or other multithreading bugs | Bitcoin Core is a multithreaded application, and deadlocks or other multithreading bugs | ||||
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure | 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 | 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. | are held, and adds warnings to the debug.log file if inconsistencies are detected. | ||||
**compiling for test coverage** | |||||
LCOV can be used to generate a test coverage report based upon `make check` | |||||
execution. LCOV must be installed on your system (e.g. the `lcov` package | |||||
on Debian/Ubuntu). | |||||
To enable LCOV report generation during test runs: | |||||
```shell | |||||
./configure --enable-lcov | |||||
make | |||||
make cov | |||||
# A coverage report will now be accessible at `./test_bitcoin.coverage/index.html`. | |||||
``` | |||||
**Valgrind suppressions file** | **Valgrind suppressions file** | ||||
Valgrind is a programming tool for memory debugging, memory leak detection, and | Valgrind is a programming tool for memory debugging, memory leak detection, and | ||||
profiling. The repo contains a Valgrind suppressions file | profiling. The repo contains a Valgrind suppressions file | ||||
([`valgrind.supp`](contrib/valgrind.supp)) | ([`valgrind.supp`](contrib/valgrind.supp)) | ||||
which includes known Valgrind warnings in our dependencies that cannot be fixed | which includes known Valgrind warnings in our dependencies that cannot be fixed | ||||
in-tree. Example use: | in-tree. Example use: | ||||
▲ Show 20 Lines • Show All 557 Lines • Show Last 20 Lines |