Как заставить MemorySanitizer не останавливаться после одной ошибки

В документации Clang сказано, что "по умолчанию MemorySanitizer завершает работу при первой обнаруженной ошибке".

Кто-нибудь знает, как заставить MemorySanitizer не останавливаться на ошибках? Приведенное выше предложение предполагает, что есть способ, но я не нахожу ничего в документации.

1 ответ

Решение

Кажется -fsanitize-recover=memory Вариант должен подойти.

Из документации Clang:

Элементы управления, чьи проверки включены с помощью -fsanitize = flag, не являются фатальными. Если проверка является фатальной, программа остановится после обнаружения первой ошибки такого рода и распечатки отчета об ошибке.

С помощью-fsanitize-recover=all должны сделать все ошибки не фатальными.

Есть также некоторая документация Google об этом (поиск продолжения после ошибки):

https://github.com/google/sanitizers/wiki/AddressSanitizer

Другие вопросы по тегам