узнать количество потоков, созданных короткой программой - PullRequest
1 голос
/ 15 апреля 2010

У меня есть программа, которая работает достаточно быстро. Я хочу увидеть количество потоков, созданных программой.

ldd test

показывает использование библиотеки pthread. но как узнать количество потоков, созданных программой. У меня есть только доступ из командной строки к ПК, на котором запущена программа. Платформа Linux.

Ответы [ 2 ]

3 голосов
/ 15 апреля 2010

Возможно, используя strace и перехватывать вызовы для клонирования?

# strace -f -e trace=clone test

Должно указывать процессы, созданные тестом.

1 голос
/ 15 апреля 2010

Используя LD_PRELOAD, вы должны быть в состоянии обернуть pthread_create достаточно, чтобы войти куда-то каждый раз, когда он вводится. Однако этот метод имеет недостатки, поскольку он может вводить (или выставлять) расы в вашей программе, которые иначе не могли бы возникнуть, что может привести к созданию большего или меньшего числа потоков.

Разве отслеживание этого в программе (т. Е. Отладочная сборка) не вариант?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...