Skip to content

Commit 94767b9

Browse files
gengjiawenBethGriggs
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 b2e7700 commit 94767b9

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

BUILDING.md

Lines changed: 17 additions & 0 deletions
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)
@@ -491,6 +492,22 @@ $ gdb /opt/node-debug/node core.node.8.1535359906
491492
$ backtrace
492493
```
493494

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

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

0 commit comments

Comments
 (0)