Обложка канала

iOS Dev

iOS разработчик, который делится фишками, своим опытом и опытом других. В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки Авторский канал, iOS разработка

iOS Dev

4 года назад
Открыть в
Что такое Thread Sanitizer и при чём тут гонки данных в Swift? Thread Sanitizer, также известный как TSan — это инструмент на базе LLVM для изучения проблем с потоками в вашем коде, написанном на языках Swift и C. Он был впервые представлен в Xcode 8 и может стать отличным инструментом для поиска менее заметных ошибок в коде, например, гонок данных. 📖 Автор этой статьи делится, как Thread Sanitizer помог решить проблемы с нестабильными тестами и странными сбоями, в которых не получалось точно определить причину. Возможно, вы не использовали TSan раньше, поскольку может быть немного непонятно, что делает этот инструмент и как он работает. В материале затрагиваются важные темы: ⚪ Что такое гонки данных (data races). ⚪ Примеры гонки данных в Swift. ⚪ Использование Thread Sanitizer для обнаружения гонок данных. ⚪ Ограничения для Thread Sanitizer. ⚪ Подходы к решению гонки данных. Также стоит обратить внимание на эту статью и этот пост. @iOS Dev