169 похожих чатов

Отлично! Спасибо :) Я начинаю, прям супер начинаю (nasm) Разбираюсь как работает

"операнд типа память".
Пытаюсь запустить дебаг с помощью gdb, чтобы посмотреть регистры, но не выходит :(

У меня есть очень простая программа выводящая hello world, на ней и балуюсь:
Запускаю - gdb hello, дальше ставлю брейкпоинт break _start и запускаю, и получаю ошибку -

Warning:
Cannot insert breakpoint 1
Cannot access memory at address ...


При этом, если запускать без брейкпоинтов, то ошибка есть, но Hello World выводится
Что я упускаю?

33 ответов

52 просмотра

А ты собираешь с отладочной информацией?

Anton- Автор вопроса
Александр Белокопытов
А ты собираешь с отладочной информацией?

nasm -f elf -g -F dwarf hello.asm && ld -m elf_i386 hello.o -o hello Без - он кричит что нет дебаг информации

Anton
nasm -f elf -g -F dwarf hello.asm && ld -m elf_i38...

Возможно чудит твоя виртуалка, а возможно что-то не так с кодом. Можешь бинарь скинуть, я у себя проверю?

Anton- Автор вопроса
Александр Белокопытов
Возможно чудит твоя виртуалка, а возможно что-то н...

Виртуалка не то слово еще...я на М1, с parallels desktop на убунте ))

А покажи show version.

Anton- Автор вопроса
Anton
Виртуалка не то слово еще...я на М1, с parallels d...

Тут ещё и трансляция до кучи... Вполне возможно, что дело в этом

Anton
screenshot

Стоп. aarch64, а отлаживаешь ты x86? Правильный gdb пробовал?

Anton- Автор вопроса
Александр Белокопытов
Тут ещё и трансляция до кучи... Вполне возможно, ч...

Тоже так думаю...но с другой стороны, бинарь отрабатывает верно 🙁 Есть какие-то способы решения?

Anton- Автор вопроса
s54820
Стоп. aarch64, а отлаживаешь ты x86? Правильный gd...

Я так понимаю у него стоит виртуалка для x86 целиком через трансляцию

Anton- Автор вопроса
Александр Белокопытов
Я так понимаю у него стоит виртуалка для x86 целик...

Да, все так. Литературы для silicon я не нашел, довольствуюсь чем могу. У меня эмулятор x86

Александр Белокопытов
Я так понимаю у него стоит виртуалка для x86 целик...

Всё возможно, но aarch64-gdb не будет x86 отлаживать ну никак, у него даже дизасма для него нет.

Anton- Автор вопроса
s54820
Всё возможно, но aarch64-gdb не будет x86 отлажива...

А подкинете информации по установке? Возможно, я что-то криво сделал... Но вроде ставил x86

Anton
Да, все так. Литературы для silicon я не нашел, до...

silicon — обычный aarch64 (он же ARM-v8), по нему скорее всего инфу найти можно. А насчёт эмуляции — возможно в parallels есть какие-то ускорители, которые странно влияют на поведение софта.

Anton
А подкинете информации по установке? Возможно, я ч...

А, так у тебя убунта армовская таки стоит?

Anton- Автор вопроса
Anton
Нет, тут я не прозевал

Тогда почему у тебя поставился отладчик для арма?

Anton- Автор вопроса
Александр Белокопытов
Покажи /etc/apt/sources.list

Хм..а там пишет arm64/amd64 🙁 Да ладно

Anton
Хм..а там пишет arm64/amd64 🙁 Да ладно

Смесь значит, тебе нужен отладчик именно для x86

Anton- Автор вопроса
Александр Белокопытов
silicon — обычный aarch64 (он же ARM-v8), по нему ...

Что-то не нравится мне текущий мой путь...2й день бодаюсь уже. Дальше будет только хуже 🙁 Возможно, сможете посоветовать литературу? Мне вдаваться в подробности прям не нужно, я так...для себя, общего развития

Anton
Что-то не нравится мне текущий мой путь...2й день ...

По ассемблеру вне x86(_64) вообще информации немного

Anton- Автор вопроса
Александр Белокопытов
По ассемблеру вне x86(_64) вообще информации немно...

Да знаю...поэтому и пытаюсь бодаться с эмуляторами 🙁

Anton
Что-то не нравится мне текущий мой путь...2й день ...

https://t.me/ChatAssembler/117154 но ничего про книгу сказать не могу.

Anton- Автор вопроса
s54820
https://t.me/ChatAssembler/117154 но ничего про кн...

Да, видел ее, спасибо. Проблема в том, что код из книги, не запускается у меня под apple silicon

Anton- Автор вопроса
s54820
Прямо падает?

Не компилируется))

Anton
Не компилируется))

А если удалить эти директивы?

Anton- Автор вопроса
s54820
А если удалить эти директивы?

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)

Anton- Автор вопроса

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта