Просто чтобы удовлетворить свое любопытство, я запускаю otool -tV ./MyApp.app/Contents/MacOS/MyApp > out.txt
на различных исполняемых файлах MacOS / X, а затем просматриваю сгенерированные списки ассемблерных кодов в out.txt
, чтобы увидеть, что в них.
Во многих местах я вижу что-то вроде этого:
0000000100bae6fb callq 0x100bb2dc8 ## symbol stub for: _memcpy
... что, с полезным комментарием, имеет смысл;Я могу сказать, что целью этой строки является вызов функции memcpy()
, которая будет расположена по адресу 0x100bb2dc8
в области памяти процесса.
Однако в других местах есть экземпляры callq
без полезных комментариев, например:
000000010056247c callq 0x11056246d
... и в этих случаях я не знаю, как определить, какая функция вызывается.Есть ли способ выяснить это?
(Я пытался найти ссылочный адрес в выводе otool
, но AFAICT его там нет; значения адресов в начале каждой строки варьируются от 00000001000061c0
до 0000000100bb014c
,и этот диапазон не включает адрес 0x11056246d
)