So far I was unable to use the Address Sanitizer (ASan) in my project. I assumed that it works because it is mentioned here: https://docs.unrealengine.com/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/BuildConfiguration/index.html.
First of all, I noticed that the bEnableAddressSanitizer exists in:
Engine/Source/Programs/UnrealBuildTool/Platform/Linux/UEBuildLinux.cs,
but not in:
Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs
So I assume it does not work under Windows. Or did anybody make it work under Windows so far?
Anyway, trying to recompile the engine on Linux with line 47 of UEBuildLinux.cs modified to
public bool bEnableAddressSanitizer = true;
I get a stack overflow error:
followed by around 2500 repeated lines of the following line
followed by
followed by some more
followed by
followed by maybe another 2500 repetitions of this
I have also tried to modify the file .config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<bEnableAddressSanitizer>true</bEnableAddressSanitizer>
</BuildConfiguration>
</Configuration>
instead of writing the UEBuildLinux.cs directly, but it leads to the exact same result.
Does someone have an idea of what I could be doing wrong?