aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/README.md16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/nvim/README.md b/src/nvim/README.md
index b5f3634fef..35ca2944e9 100644
--- a/src/nvim/README.md
+++ b/src/nvim/README.md
@@ -44,28 +44,30 @@ Behavior Sanitizer: UBSan, Memory Sanitizer: MSan, Thread Sanitizer: TSan) is
a good way to catch undefined behavior, leaks and other errors as soon as they
happen. It's significantly faster than Valgrind.
-Requires clang 3.4 or later:
+Requires clang 3.4 or later, and `llvm-symbolizer` must be in `$PATH`:
clang --version
-Build Nvim with sanitizer instrumentation:
+Build Nvim with sanitizer instrumentation (choose one):
CC=clang make CMAKE_EXTRA_FLAGS="-DCLANG_ASAN_UBSAN=ON"
+ CC=clang make CMAKE_EXTRA_FLAGS="-DCLANG_MSAN=ON"
+ CC=clang make CMAKE_EXTRA_FLAGS="-DCLANG_TSAN=ON"
Create a directory to store logs:
mkdir -p "$HOME/logs"
-Enable the sanitizer(s) via these environment variables:
+Configure the sanitizer(s) via these environment variables:
# Change to detect_leaks=1 to detect memory leaks (slower).
export ASAN_OPTIONS="detect_leaks=0:log_path=$HOME/logs/asan"
- export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
-
- export MSAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
+ export MSAN_OPTIONS="log_path=${HOME}/logs/tsan"
export TSAN_OPTIONS="log_path=${HOME}/logs/tsan"
-Logs will be written to `${HOME}/logs/*san.PID`.
+Logs will be written to `${HOME}/logs/*san.PID` then.
+
+For more information: https://github.com/google/sanitizers/wiki/SanitizerCommonFlags
TUI debugging
-------------