У меня есть общая библиотека /opt/evince-3.28.4/lib/evince/4/backends/libpdfdocument.so. В GDB я могу легко обнаружить функцию по смещению 0xa830 этой библиотеки, как показано ниже:
(gdb) disas 0xa830
Dump of assembler code for function ev_link_from_action(PdfDocument*, PopplerAction*):
0x000000000000a830 : cmpl $0xa,(%rsi)
0x000000000000a833 : ja 0xaaf0
0x000000000000a839 : push %r15
0x000000000000a83b : push %r14
0x000000000000a83d : lea 0x5f28(%rip),%rdx # 0x1076c
Вывод команды objdump -D в библиотеке для этого смещения показан ниже:
a826: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
a82d: 00 00 00
a830: 83 3e 0a cmpl $0xa,(%rsi)
a833: 0f 87 b7 02 00 00 ja aaf0
a839: 41 57 push %r15
Имя функции по адресу 0xa830 не печатается. Кроме того, вывод objdump -t в библиотеке не содержит этого смещения. Как я могу определить имя символа, если смещение известно, а GDB не недоступен?
P.S.:< /strong> Общая библиотека содержит отладочную информацию. Соответствующая часть objdump -h в библиотеке показана ниже:
25 .debug_aranges 00000030 0000000000000000 0000000000000000 00014bd9 2**0
CONTENTS, READONLY, DEBUGGING
26 .debug_info 00014b8d 0000000000000000 0000000000000000 00014c09 2**0
CONTENTS, READONLY, DEBUGGING
27 .debug_abbrev 00000773 0000000000000000 0000000000000000 00029796 2**0
CONTENTS, READONLY, DEBUGGING
28 .debug_line 00002036 0000000000000000 0000000000000000 00029f09 2**0
CONTENTS, READONLY, DEBUGGING
29 .debug_str 0000c377 0000000000000000 0000000000000000 0002bf3f 2**0
CONTENTS, READONLY, DEBUGGING
30 .debug_loc 0000d45f 0000000000000000 0000000000000000 000382b6 2**0
CONTENTS, READONLY, DEBUGGING
31 .debug_ranges 00001080 0000000000000000 0000000000000000 00045715 2**0
CONTENTS, READONLY, DEBUGGING
Подробнее здесь: https://stackoverflow.com/questions/791 ... by-objdump
Символ не обнаруживается Objdump ⇐ Linux
1731805405
Anonymous
У меня есть общая библиотека /opt/evince-3.28.4/lib/evince/4/backends/libpdfdocument.so. В GDB я могу легко обнаружить функцию по смещению 0xa830 этой библиотеки, как показано ниже:
(gdb) disas 0xa830
Dump of assembler code for function ev_link_from_action(PdfDocument*, PopplerAction*):
0x000000000000a830 : cmpl $0xa,(%rsi)
0x000000000000a833 : ja 0xaaf0
0x000000000000a839 : push %r15
0x000000000000a83b : push %r14
0x000000000000a83d : lea 0x5f28(%rip),%rdx # 0x1076c
Вывод команды objdump -D в библиотеке для этого смещения показан ниже:
a826: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
a82d: 00 00 00
a830: 83 3e 0a cmpl $0xa,(%rsi)
a833: 0f 87 b7 02 00 00 ja aaf0
a839: 41 57 push %r15
Имя функции по адресу 0xa830 не печатается. Кроме того, вывод objdump -t в библиотеке не содержит этого смещения. Как я могу определить имя символа, если смещение известно, а GDB [b]не[/b] недоступен?
P.S.:< /strong> Общая библиотека содержит отладочную информацию. Соответствующая часть objdump -h в библиотеке показана ниже:
25 .debug_aranges 00000030 0000000000000000 0000000000000000 00014bd9 2**0
CONTENTS, READONLY, DEBUGGING
26 .debug_info 00014b8d 0000000000000000 0000000000000000 00014c09 2**0
CONTENTS, READONLY, DEBUGGING
27 .debug_abbrev 00000773 0000000000000000 0000000000000000 00029796 2**0
CONTENTS, READONLY, DEBUGGING
28 .debug_line 00002036 0000000000000000 0000000000000000 00029f09 2**0
CONTENTS, READONLY, DEBUGGING
29 .debug_str 0000c377 0000000000000000 0000000000000000 0002bf3f 2**0
CONTENTS, READONLY, DEBUGGING
30 .debug_loc 0000d45f 0000000000000000 0000000000000000 000382b6 2**0
CONTENTS, READONLY, DEBUGGING
31 .debug_ranges 00001080 0000000000000000 0000000000000000 00045715 2**0
CONTENTS, READONLY, DEBUGGING
Подробнее здесь: [url]https://stackoverflow.com/questions/79196334/symbol-not-detectable-by-objdump[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия