"операнд типа память".
Пытаюсь запустить дебаг с помощью gdb, чтобы посмотреть регистры, но не выходит :(
У меня есть очень простая программа выводящая hello world, на ней и балуюсь:
Запускаю - gdb hello, дальше ставлю брейкпоинт break _start и запускаю, и получаю ошибку -
Warning:
Cannot insert breakpoint 1
Cannot access memory at address ...
При этом, если запускать без брейкпоинтов, то ошибка есть, но Hello World выводится
Что я упускаю?
А ты собираешь с отладочной информацией?
nasm -f elf -g -F dwarf hello.asm && ld -m elf_i386 hello.o -o hello Без - он кричит что нет дебаг информации
Возможно чудит твоя виртуалка, а возможно что-то не так с кодом. Можешь бинарь скинуть, я у себя проверю?
Виртуалка не то слово еще...я на М1, с parallels desktop на убунте ))
А покажи show version.
Тут ещё и трансляция до кучи... Вполне возможно, что дело в этом
Тоже так думаю...но с другой стороны, бинарь отрабатывает верно 🙁 Есть какие-то способы решения?
Да, пробовал. Ему без разницы 🙁
Я так понимаю у него стоит виртуалка для x86 целиком через трансляцию
Да, все так. Литературы для silicon я не нашел, довольствуюсь чем могу. У меня эмулятор x86
Всё возможно, но aarch64-gdb не будет x86 отлаживать ну никак, у него даже дизасма для него нет.
А подкинете информации по установке? Возможно, я что-то криво сделал... Но вроде ставил x86
silicon — обычный aarch64 (он же ARM-v8), по нему скорее всего инфу найти можно. А насчёт эмуляции — возможно в parallels есть какие-то ускорители, которые странно влияют на поведение софта.
А, так у тебя убунта армовская таки стоит?
Покажи /etc/apt/sources.list
Нет, тут я не прозевал
Не разбираюсь в маках. А как ставил?
Тогда почему у тебя поставился отладчик для арма?
Хм..а там пишет arm64/amd64 🙁 Да ладно
Смесь значит, тебе нужен отладчик именно для x86
Что-то не нравится мне текущий мой путь...2й день бодаюсь уже. Дальше будет только хуже 🙁 Возможно, сможете посоветовать литературу? Мне вдаваться в подробности прям не нужно, я так...для себя, общего развития
По ассемблеру вне x86(_64) вообще информации немного
Да знаю...поэтому и пытаюсь бодаться с эмуляторами 🙁
https://t.me/ChatAssembler/117154 но ничего про книгу сказать не могу.
Да, видел ее, спасибо. Проблема в том, что код из книги, не запускается у меня под apple silicon
Не компилируется))
А если удалить эти директивы?
gcc -o hello hello.S Undefined symbols for architecture arm64: "_main", referenced from: <initial-undefines> ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
А если .global _main и _main:?
А так завелось!
Обсуждают сегодня