Как я могу предотвратить запуск Valgrind встроенных серверов gdb для каждого нового потока?

Я запускаю valgrind memcheck в программе, которая порождает тысячи других потоков.

Другие потоки не генерируют ошибок, и мне все равно, что с ними происходит.

Однако Valgrind настаивает на открытии именованного канала в / tmp каждый раз, когда появляется новый поток. Это не только расточительно, но и разрушает Вальгринд. Иногда valgrind не убирает после себя, и тогда будущие потомки с тем же pid (активным позже) не могут появиться, потому что valgrind не может создать канал с правильным именем (он уже существует).

Как я могу помешать Valgrind сделать все эти трубы!?!

РЕДАКТИРОВАТЬ:
Флаги я уже пробовал:

—ребенок-немого после вилки = да

и вещи, которые я уже исключил

—track-children = no (значение по умолчанию — нет).

6

Решение

Извините, что отвечаю на мой вопрос. Просто для целей документации.

Бег с флагом:

--vgdb=no

Это не задокументировано должным образом на страницах руководства, так как не говорит о том, что он будет извергать трубы везде без флага, но именно поэтому он это делает.

3

Другие решения

Если вы можете, настройте исходную программу так, чтобы вы могли отключить порождение потока с помощью аргумента командной строки. Запустите valgrind для результата с удаленным порождением потока.

1

По вопросам рекламы [email protected]