gdb не удается выполнить ELF 64-разрядная программа с “Форматом файла, не распознанным”

Обычно, эта домашняя работа просто выполняется для вас, в соответствии с собственными предпочтениями пользователя, установленными на телефоне. (обычно называемый «локалью».)

Результирующее значение даты / времени представляет собой число, которое, IIRC, в основном , равно «UTC». Это абсолютная ценность.

Если кто-то еще отобразит это значение на своем телефоне, он увидит его в любом часовом поясе, указанном для своего телефона. «Момент времени» будет таким же моментом.

13
задан Ciro Santilli 新疆改造中心法轮功六四事件 13 June 2015 в 11:32
поделиться

4 ответа

Исполняемый файл является 64-разрядным (x86-64), и отладчик составляет 32 бита (i686-pc-linux) сборка. Вы, возможно, должны установить 64-разрядную (x86-64) версию отладчика.

21
ответ дан 1 December 2019 в 19:51
поделиться

Я не уверен, является ли это Вашей проблемой, но я сталкивался с этой ситуацией очень часто. Исполняемый файл в дереве сборки, сборка делает/автоделает, не двоичный файл, а сценарий, таким образом, Вы не можете использовать gdb с ним. Попытайтесь установить приложение и изменить каталог, потому что еще gdb пытается отладить сценарий.

5
ответ дан 1 December 2019 в 19:51
поделиться

Вопрос относится к и к "/path/executable". Это тот же файл?

При выполнении посмертного анализа Вы работали бы:

gdb executable-file core-file

Если бы Вы собираетесь проигнорировать базовый файл, Вы работали бы:

gdb executable-file

В обоих случаях,'executable-file'значит путь для двоичного файла, который Вы хотите отладить. Как правило, это - на самом деле простое имя файла в текущем каталоге, так как у Вас есть исходный код от Вашей отладочной сборки там.

На Солярисе 64-разрядная сборка GDB, как предполагается, может отладить и 32-разрядные и 64-разрядные исполняемые файлы (хотя у меня были некоторые проблемы с последними версиями GDB). Я не уверен в обратном - что 32-разрядный GDB может обязательно отладить 64-разрядные исполняемые файлы.

4
ответ дан 1 December 2019 в 19:51
поделиться

То, что вам нужно проверить, это действительно библиотека bfd. Библиотека дескриптора двоичного файла - это то, что binutils / gdb использует для анализа и обработки двоичных файлов (ELF / a.out и т. Д.).

Вы можете увидеть текущие поддерживаемые платформы через objdump;

# objdump -H

objdump: supported targets: elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot elf64-powerpc elf64-powerpcle elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex binary ihex
objdump: supported architectures: rs6000:6000 rs6000:rs1 rs6000:rsc rs6000:rs2 powerpc:common powerpc:common64 powerpc:603 powerpc:EC603e powerpc:604 powerpc:403 powerpc:601 powerpc:620 powerpc:630 powerpc:a35 powerpc:rs64ii powerpc:rs64iii powerpc:7400 powerpc:e500 powerpc:MPC8XX powerpc:750

The following PPC specific disassembler options are supported for use with
the -M switch:
  booke|booke32|booke64    Disassemble the BookE instructions
  e300                     Disassemble the e300 instructions
  e500|e500x2              Disassemble the e500 instructions
  efs                      Disassemble the EFS instructions
  power4                   Disassemble the Power4 instructions
  power5                   Disassemble the Power5 instructions
  power6                   Disassemble the Power6 instructions
  32                       Do not disassemble 64-bit instructions
  64                       Allow disassembly of 64-bit instructions
2
ответ дан 1 December 2019 в 19:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: