Skip to content

Commit e924f9a

Browse files
authored
Update asan-known-issues.md
- Remove Win10 reference - Add known issues bit about unloading DLLs
1 parent dde7a43 commit e924f9a

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

docs/sanitizers/asan-known-issues.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,6 @@ AddressSanitizer (ASAN) uses a custom version of `operator new` and `operator de
6060

6161
[MFC](../mfc/mfc-concepts.md) includes custom overrides for `operator new` and `operator delete` and might miss errors like [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md).
6262

63-
## Windows versions
64-
65-
Support is focused on Windows 10. MSVC AddressSanitizer was tested on 10.0.14393 (RS1), and 10.0.21323 (prerelease insider build). [Report a bug](https://aka.ms/feedback/report?space=62) if you run into issues.
6663

6764
## Memory usage
6865

@@ -82,6 +79,14 @@ As a workaround, create a *`Directory.Build.props`* file in the root of your pro
8279

8380
Thread local variables (global variables declared with `__declspec(thread)` or `thread_local`) aren't protected by AddressSanitizer. This limitation isn't specific to Windows or Microsoft Visual C++, but is a general limitation.
8481

82+
## Loading and unloading DLLs
83+
84+
If the entire process is not compiled with `/fsanitize=address`, there may be limitations in ASan's ability to diagnose memory safety errors. The most common example is when a DLL is compiled with ASan and loaded into a process that **was not** compiled with ASan. In this case, ASan will attempt to categorize allocations that took place prior to ASan initialization. If those allocations are transformed in any way (reallocated, moved, etc.), ASan will then attempt to own and monitor the lifetime and memory loads/stores.
85+
86+
In the event that all DLLs compiled with ASan leave the process before the end of its execution (like in the event of test drivers such as [TAEF](https://learn.microsoft.com/en-us/windows-hardware/drivers/taef/)), there may dangling references to intercepted functions (`memcmp`, `memcpy`, `memmove`, etc.), and may result in crashes. This is a current limitation with these configurations and unloading DLLs.
87+
88+
Please [report any bugs](https://aka.ms/feedback/report?space=62) if you experience them.
89+
8590
## See also
8691

8792
[AddressSanitizer overview](./asan.md)\

0 commit comments

Comments
 (0)