Возможно, вы захотите спросить об этом в Списке рассылки пользователя Valgrind (что очень полезно). Вы можете подавить вывод от определенных вызовов, однако подавление шума - это все, что вы делаете. Звонки все еще проходят через Valgrind.
Чтобы выполнить то, что вам нужно, вы (в идеале) сопоставляете Valgrind соответствующим образом с glibc или , используя макросы в valgrind/valgrind.h
, чтобы обойти их. Используя их, да, вы можете сказать Valgrind не трогать определенные вещи. Я не уверен, какие вызовы прерывают все, но вы также можете (выборочно) не запускать биты кода в вашей собственной программе, если она выполняется в valgrind. Смотрите макрос RUNNING_ON_VALGRIND
в valgrind/valgrind.h
.
Еще одна вещь, которая приходит на ум, - убедиться, что Valgrind был правильно скомпилирован для работы с потоками . Имейте в виду, что атомарные операции в Valgrind могут привести к сбою вашей программы во время гоночных операций, в противном случае это может произойти, если не настроено должным образом.
Если вы меняли версии valgrind и glibc, есть вероятность, что вы нашли совпадение, но неправильно настроили valgrind во время сборки.