doc: add ASAN build instructions

PR-URL: https://github.com/nodejs/node/pull/32436
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
This commit is contained in:
gengjiawen 2020-03-23 20:07:29 +08:00
parent 534c204e22
commit 9c00af0716

View File

@ -28,6 +28,7 @@ file a new issue.
* [Running Coverage](#running-coverage)
* [Building the documentation](#building-the-documentation)
* [Building a debug build](#building-a-debug-build)
* [Building an ASAN build](#building-an-asan-build)
* [Troubleshooting Unix and macOS builds](#troubleshooting-unix-and-macos-builds)
* [Windows](#windows)
* [Prerequisites](#prerequisites)
@ -491,6 +492,22 @@ $ gdb /opt/node-debug/node core.node.8.1535359906
$ backtrace
```
#### Building an ASAN build
[ASAN](https://github.com/google/sanitizers) can help detect various memory
related bugs. ASAN builds are currently only supported on linux.
If you want to check it on Windows or macOS or you want a consistent toolchain
on Linux, you can try [Docker](https://www.docker.com/products/docker-desktop)
(using an image like `gengjiawen/node-build:2020-02-14`).
The `--debug` is not necessary and will slow down build and testing, but it can
show clear stacktrace if ASAN hits an issue.
``` console
$ ./configure --debug --enable-asan && make -j4
$ make test-only
```
#### Troubleshooting Unix and macOS builds
Stale builds can sometimes result in `file not found` errors while building.