Использование PMAP / динамически загружаемых библиотек (C / Linux) - PullRequest
0 голосов
/ 01 ноября 2019

Следующая программа cat ++ динамически загружает преобразования, примененные к строкам, перед их печатью. После успешной компиляции я запускаю следующую команду:

echo "hello world" |./cat++ -l ./librot13.so -l ./libupper.so -l ./librot13.so

Как я могу использовать pmap для проверки количества сегментов памяти, которые добавляются в процесс, когда одна из библиотек реализуетТрансформация загружается? Какие параметры PID и командной строки я должен использовать?

1 Ответ

0 голосов
/ 01 ноября 2019

Вам нужно будет запустить 'pmap' в активном процессе, чтобы увидеть сегмент памяти. Используемая команда (echo ... | cat) завершится за доли секунды. Рассмотрим вместо этого отложенную версию.

(echo bar ; sleep 100) | ./cat++ -l ./librot13.so -l ./libupper.so -l ./librot13.so &
# The '$!' will hold the PID of the 'cat++' process.
pmap $!
...