Насколько хорошо Valgrind обрабатывает потоки и инструкции по синхронизации на уровне машины?

StackOverflow https://stackoverflow.com/questions/1030473

Вопрос

У меня есть высокопараллельная программа для Windows, которая использует множество потоков, вручную написанные инструкции по синхронизации машин и самодельные параллельные безопасные распределители памяти. Увы в управлении хранилищем есть отверстие (а не отверстие для синхронизации в распределителях, Я почти уверен), и я хотел бы найти это. Valgrind был предложен как хороший инструмент для поиска ошибок управления хранилищем. Какой-нибудь опыт здесь с Valgrind использовался в этих обстоятельствах?

Это было полезно?

Решение

Valgrind не работает в Windows, но он работает с программами Windows, работающими под Wine в Linux. Если ваша программа будет работать под Wine, у нее есть хорошие шансы работать с valgrind. Подробнее см. winehq.org .

Последняя версия довольно хорошо справляется со всеми 32-битными инструкциями x86. Он может обрабатывать программы, которые создают много потоков, но не ожидайте, что они будут работать одновременно под valgrind. Он будет запускать только один поток за раз, как если бы он запускался на одноядерном компьютере.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top