Символ не обнаруживается ObjdumpLinux

Ответить Пред. темаСлед. тема
Anonymous
 Символ не обнаруживается Objdump

Сообщение 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 не недоступен?

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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Objdump — как создать исходный код для библиотечных функций на выходе сборки
    Anonymous » » в форуме C++
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Pyelftools: извлекает флаги разделов, как это делает objdump для двоичного файла elf32-littlearm
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Непоследовательные деструкторы, как видно GDB и Objdump
    Anonymous » » в форуме C++
    0 Ответы
    171 Просмотры
    Последнее сообщение Anonymous
  • Понимание вывода Linux objdump - .plt и .plt.sec разделы
    Anonymous » » в форуме Linux
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Microsoft.VisualStudio.Web.CodeGeneration.Design не обнаруживается инструментом dotnet aspnet-codegenerator
    Anonymous » » в форуме C#
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous

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