GDB, установленный из homebrew на macOS, Big Sur не может загрузить символы из elf32 -i386 Binary

Все в порядке; запись однонаправленная:

Any further lines you enter will be copied to the specified user's terminal. If the other user wants to reply, they must run write as well.

... так что она должна write your-usernameдля того, чтобы writeвернуться к вам.

Возможно, вы думаете о более -интерактивной talkутилите; в Debian apt install ytalkпоможет вам начать работу.

4
15.12.2020, 00:18
2 ответа

Выяснил, в чем проблема, оказалось, что clang действительно не любит, когда вы пытаетесь использовать strncmp без предварительного включения string.h. Тем временем gcc вполне может скомпилировать elf -bfd.h, не включая string.h. В результате, хотя GDB будет компилироваться в macOS, он просто отказывается загружать какие-либо файлы ELF, потому что код ELF скомпилирован неправильно. Исправление состоит в том, чтобы просто добавить #include <string.h>в начало elf -bfd.h, и GDB будет правильно загружать двоичные файлы ELF.

2
18.03.2021, 22:42

Если вы установили gdb через brew, как показано ниже, он установил только минимальную часть gdb.

$ brew install gdb

Простой способ заставить это работать — просто  включить все цели , что означает, что вы можете читать все типы файлов ELF.

Вы должны сделать:

  • Заменить файл формулы варки установки gdb. Сделайте резервную копию файла gdb.rb (/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/gdb.rb)и замените его на этот .
  • Установите gdb через brew $ brew install gdb --with-all-targets. Подождите некоторое время, и это сработает (надеюсь ).
1
18.03.2021, 22:42

Теги

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