Когда / как Linux загружает разделяемые библиотеки в адресное пространство?

У меня следующий вопрос:

Когда в программах указывается адрес общих объектов? Во время связывания? Загружается? Если бы я хотел найти адрес памяти команды system внутри libc внутри моей программы, я мог бы легко найти его в gdb , но что, если я не «Не хотите переносить программу в отладчик?»

Может ли этот адрес измениться от запуска к запуску? Есть ли какой-либо другой инструмент статического анализа, который позволит увидеть, где библиотеки или функции будут загружены в область памяти этой программы при запуске?

РЕДАКТИРОВАТЬ: Мне нужна эта информация вне программы (то есть с использованием таких утилит, как objdump для сбора информации)

38
задан osgx 27 February 2011 в 01:14
поделиться