@@ -102,8 +102,9 @@ your normal VS Code environment.
102102
103103## Capturing sanitizer diagnostics from the language server
104104
105- When you run a sanitizer build of the language server (a ` -tsan ` /` -asan ` /` -ubsan ` CMake preset that
106- enables ThreadSanitizer, AddressSanitizer, or UndefinedBehaviorSanitizer), the sanitizer prints its
105+ When you run a sanitizer build of the language server (a ` -tsan ` or ` -asan-ubsan ` CMake preset --
106+ ThreadSanitizer, or AddressSanitizer + UndefinedBehaviorSanitizer combined; on Windows use
107+ ` windows-x64-asan ` , ASan only), the sanitizer prints its
107108reports to ` stderr ` . Because the extension talks to the language server over ` stdio ` , those reports are
108109easy to miss, and the exit-time backtrace you see in a crash log only shows the sanitizer shutting
109110down -- not the actual report.
@@ -118,8 +119,9 @@ routes each sanitizer's `log_path` into that directory, so every process -- `cpp
118119``` bash
119120# macOS/Linux
120121export CPPTOOLS_SANITIZER_LOG_DIR=/tmp/cpptools-san
121- # ...launch VS Code with a sanitizer build of cpptools, reproduce the issue, then:
122- cat /tmp/cpptools-san/tsan.*
122+ # ...launch VS Code with a sanitizer build of cpptools, reproduce the issue, then read the logs.
123+ # A -tsan build writes tsan.<pid>; a combined -asan-ubsan build writes both asan.<pid> and ubsan.<pid>.
124+ cat /tmp/cpptools-san/*
123125```
124126
125127The ** Run Extension (capture sanitizer logs)** configuration in ` .vscode/launch.json ` sets this
0 commit comments