Skip to content

Commit 9ee2afa

Browse files
gengjiawentargos
authored andcommitted
doc: add ASAN build instructions
PR-URL: #32436 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matheus Marchini <[email protected]>
1 parent bc7f819 commit 9ee2afa

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

BUILDING.md

+17
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ file a new issue.
2828
* [Running Coverage](#running-coverage)
2929
* [Building the documentation](#building-the-documentation)
3030
* [Building a debug build](#building-a-debug-build)
31+
* [Building an ASAN build](#building-an-asan-build)
3132
* [Troubleshooting Unix and macOS builds](#troubleshooting-unix-and-macos-builds)
3233
* [Windows](#windows)
3334
* [Prerequisites](#prerequisites)
@@ -490,6 +491,22 @@ $ gdb /opt/node-debug/node core.node.8.1535359906
490491
$ backtrace
491492
```
492493

494+
#### Building an ASAN build
495+
496+
[ASAN](https://github.com/google/sanitizers) can help detect various memory
497+
related bugs. ASAN builds are currently only supported on linux.
498+
If you want to check it on Windows or macOS or you want a consistent toolchain
499+
on Linux, you can try [Docker](https://www.docker.com/products/docker-desktop)
500+
(using an image like `gengjiawen/node-build:2020-02-14`).
501+
502+
The `--debug` is not necessary and will slow down build and testing, but it can
503+
show clear stacktrace if ASAN hits an issue.
504+
505+
``` console
506+
$ ./configure --debug --enable-asan && make -j4
507+
$ make test-only
508+
```
509+
493510
#### Troubleshooting Unix and macOS builds
494511

495512
Stale builds can sometimes result in `file not found` errors while building.

0 commit comments

Comments
 (0)