Я заметил, что мое приложение чаще дает сбой для пользователей с более медленными машинами (например, MacBook Air или MacBook Pro с процессором ниже i5). Однако мне как разработчику сложно воспроизвести эти проблемы на моей машине (Retina, 15 дюймов, начало 2013 г., 2,7 ГГц Core i7, 16 ГБ ОЗУ).
Приложение интенсивно использует ЦП (многоранговые аудио-видеоконференции в реальном времени) и является многопоточным, и большинство сбоев происходит случайно во время ключевых операций, таких как запуск/остановка аудио или потоковой передачи/захвата видео — верный признак плохого многопоточного взаимодействия.
Таким образом, мне было интересно, есть ли какие-либо инструменты для тестирования приложения в условиях ограниченных системных ресурсов (например, ограничение ядер или частоты процессора/времени выполнения для процесса приложения), которые помогут мне понять системные требования и ограничения моего приложения, а также помогут воспроизвести некоторые heisenbugs?