reckfellENGINE

Санитайзеры C++

Санитайзер инструментирует нативную сборку и сообщает об ошибках памяти, гонках или неопределённом поведении. Он не включается в готовом редакторе обычной настр

На этой странице

Санитайзер инструментирует нативную сборку и сообщает об ошибках памяти, гонках или неопределённом поведении. Он не включается в готовом редакторе обычной настройкой проекта и не заменяет отладку C#.

Выбор

ЗадачаПараметр сборкиОграничение
Выход за границы, use-after-freeuse_asan=yesМеняет расход памяти и время выполнения
Неопределённое поведение C++use_ubsan=yesНужен поддерживаемый инструментарием набор проверок
Утечкиuse_lsan=yesПредусмотрен конфигурацией Linux/BSD; не универсальный параметр Windows
Гонки потоковuse_tsan=yesПредусмотрен конфигурацией Linux/BSD; используйте отдельную сборку

В конфигурации Windows объявлены ASAN и UBSAN, но поддержка зависит от компилятора. Не объединяйте все режимы в одной сборке: совместимость определяют платформенный detect.py и инструментарий выбранного компилятора.

Порядок работы

  1. Подготовьте отдельную диагностическую сборку с символами и одним нужным санитайзером. Не заменяйте ею рабочую установку.
  2. Запустите минимальное воспроизведение и сохраните первый отчёт целиком: тип нарушения, адрес, стек обращения и стек выделения/освобождения, если доступны.
  3. Исправляйте причину первого нарушения; повторный отчёт после повреждения памяти может быть следствием.
  4. После исправления повторите тот же сценарий и отдельно проверьте обычную сборку.

Отсутствие отчёта означает только, что выбранная проверка не обнаружила ошибку на выполненном пути. Оно не доказывает отсутствие гонок или утечек во всём проекте. Сборки с санитайзерами здесь не запускались.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.