Как вы используете Valgrind / Helgrind в macOS?

#c #c #macos #debugging #valgrind

#c #c #macos #отладка #валгринд #valgrind

Вопрос:

Я изучаю C на компьютере macOS, и у меня много проблем с запуском Valgrind, особенно с потоковой обработкой и Helgrind. Не похоже, что для этого есть какая-либо поддержка, что заставляет меня задуматься, если:

  1. Никто не разрабатывает C / C с macOS.

  2. Люди это делают, но они не используют Valgrind / Helgrind.

  3. Есть способ использовать Valgrind / Helgrind, и я просто не понял этого.

Или я что-то упускаю?

Лучшая поддержка Valgrind, которую я смог найти в macOS, — это Valgrind для macOS, который не поддерживает потоки / сигналы поддержки:

использование потоков и сигналов не определено

Комментарии:

1. Я не использую valgrind на Mac, но вы можете использовать ASan . Clang имеет другие различные дезинфицирующие средства для поиска утечек памяти и ошибок, связанных с памятью. К вашему сведению, Chrome / Chromium написан на C / Obj-C для macOS и iOS, поэтому, возможно, вы можете забыть о пункте № 1

2. В Xcode средство очистки адресов легко доступно (можно выбрать в разделе Схема редактирования ). По моему опыту, Address Sanitizer почти такой же мощный, как Valgrind, но при этом, возможно, в 10 раз быстрее (или, скажем, менее медленный ).

3. 4. Разработчиков Valgrind / macOS недостаточно.

Ответ №1:

Кто-то создал ветку Valgrind для использования в macOS (в настоящее время она не работает на M1 / M2).

https://github.com/LouisBrunner/valgrind-macos