reckfellENGINE

C++ sanitizers

A sanitizer instruments a native build to report memory errors, races or undefined behavior. It cannot be enabled in a prebuilt editor through a normal project

On this page

A sanitizer instruments a native build to report memory errors, races or undefined behavior. It cannot be enabled in a prebuilt editor through a normal project setting and does not replace C# debugging.

Selection

TaskBuild optionLimit
Out-of-bounds access, use-after-freeuse_asan=yesChanges memory use and timing
C++ undefined behavioruse_ubsan=yesRequires toolchain support for the checks
Leaksuse_lsan=yesDeclared by Linux/BSD configuration; not a universal Windows option
Thread racesuse_tsan=yesDeclared by Linux/BSD configuration; use a separate build

Windows configuration declares ASAN and UBSAN, with compiler-dependent support. Do not combine every mode in one build: platform detect.py and the selected compiler toolchain determine compatibility.

Procedure

  1. Prepare a separate diagnostic build with symbols and the sanitizer needed. Keep the working installation intact.
  2. Run the minimal reproduction and retain the first complete report: violation type, address, access stack and allocation/free stacks where available.
  3. Fix the first violation; reports after memory corruption can be secondary symptoms.
  4. Repeat the same scenario after the fix and check a normal build separately.

No report means only that this instrumentation found no failure on the executed path. It does not prove the whole project free of races or leaks. Sanitized builds were not executed here.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.