Представление дизассемблирования в Xcode: как я могу обозначить адрес функции?IOS

Программируем под IOS
Ответить
Anonymous
 Представление дизассемблирования в Xcode: как я могу обозначить адрес функции?

Сообщение Anonymous »

В Xcode я установил точку останова для функции, которая является частью платформы iOS, и появилось представление дизассемблирования. Все вызовы функций, кроме одного (0x1bb286280) были обозначены символами (т. е. Xcode показывал имя вызываемой функции). Почему Xcode не смог найти имя функции?
Я подозреваю, что строки были удалены из динамической библиотеки, содержащей функцию 0x1bb286280.
Как я могу хотя бы определить, какая динамическая библиотека загружена в часть памяти по адресу 0x1bb286280?
Я пытался дизассемблировать соответствующую библиотеку в Hopper, но она также не обозначала функцию 0x1bb286280. Может ли Хоппер показать, частью какой библиотеки является эта функция? При просмотре двоичного файла в Hopper я не смог найти адрес памяти 0x1bb286280.
При входе в функцию 0x1bb286280 в LLDB внутри Xcode и последующем запуске трассировки потока, находясь внутри 0x1bb286280 в консоли LLDB, не отображается ни один модуль/dylib. (между тем, все остальные кадры в трассировке стека показывают, частью какой библиотеки они являются). Я вижу только * кадр #0: 0x00000001bb286280 без дополнительных символов после него.
Фрагмент дизассемблирования из Xcode:
mov x0, x8
bl 0x1b6fa47ac ; symbol stub for: dispatch_sync
ldur x8, [x29, #-0x28]
ldr w19, [x8, #0x18]
sub x0, x29, #0x30
mov w1, #0x8 ; =8
bl 0x1bb286280 ; How do I symbolicate this function?


Подробнее здесь: https://stackoverflow.com/questions/797 ... ns-address
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»