Почему утилита mtrace не поддерживает распределение mmap()?
Почему утилита mtrace в Linux не отслеживает распределение памяти, выполняемое с помощью mmap() / munmap() cals? Как и каковы проблемы в реализации этого?
Мне нужен надежный инструмент для отслеживания распределения памяти, выполняемого моим приложением, которое интенсивно использует вызовы mmap (). valgrind не может поддерживать мое приложение с поддержкой setuid, и выдает эту ошибку: "Невозможно выполнить исполняемый файл setuid/setgid:: Valgrind не поддерживает исполняемые файлы setuid".
Спасибо, Сараванан
1 ответ
Я не знаю, какую утилиту mtrace вы используете. Но для nmap у mtrace есть другая утилита при условии, что http://nmap.org/. Вы должны загрузить эту утилиту, которая доступна по адресу http://nmap.org/nsedoc/scripts/mtrace.html. Предоставление следующего описания
Запрашивает многоадресный путь от источника к узлу назначения.
Это работает путем отправки запроса IGMP Traceroute и прослушивания ответов IGMP Traceroute. Запрос Traceroute отправляется на первый прыжок и содержит информацию об адресах источника, назначения и групп многоадресной рассылки. По умолчанию в первом прыжке используется адрес многоадресной рассылки Все маршрутизаторы. Адрес многоадресной группы по умолчанию - 0.0.0.0, а назначением по умолчанию является наш собственный адрес хоста. Адрес источника должен быть предоставлен. Ответы анализируются для получения интересной информации об интерфейсных адресах, используемых протоколах и кодах ошибок.
Это похоже на утилиту mtrace, предоставляемую в Cisco IOS.