Можете ли вы перевести данные стека? Каковы данные?

Я хочу знать, как перевести данные в стек. Мы можем видеть данные вроде: 0x80808080, но имеет ли это смысл? Какие части чисел означают что-то другое? И что означает «0x»?

Главное, что я хочу знать, – как организованы данные. Я знаю, как работают push и pop, но я не понимаю таких вещей, как:

(gdb) x/300wx 0xbffff155 0xbffff155: 0x80808080 0x80808080 0xbffff355: 0x80808080 0x80808080 

Что означает каждая часть? ^ Я знаю, что r = 4 w = 2 x = 1 & – = 0

  • Режим только для чтения в gdb
  • Как заставить gdb не спрашивать меня «y или n»?
  • Зачем GDB нужен исполняемый файл, а также дамп ядра?
  • Измерение точных тактовых циклов для программы C / Assembly
  • что обрабатывает SIG33 pass nostop noprint`, когда используется в gdb
  • kgdb не возвращает управление gdb
  • QEMU для программ ARM с GDB
  • Истекшее время в gdb
  • One Solution collect form web for “Можете ли вы перевести данные стека? Каковы данные?”

    0x – очень распространенный префикс для чисел, написанных в шестнадцатеричном виде, т.е. в базе 16.

    x – команда GDB для отображения содержимого части памяти. Цифры и буквы после / указывают, что печатать: 300 слов ( w ), в шестнадцатеричном формате ( x ). После этого номер будет адресом для начала печати.

    «R = 4 w = 2 x = 1» относится к числовым и символическим представлениям разрешений Unix-файлов и не имеет абсолютно никакого отношения к этому.

    Печать случайной части памяти процесса не приводит к каким-либо полезным данным. Если у вас есть исходный код и двоичный код, построенный с помощью отладочных символов, отладчик может сообщить вам, на каком адресе хранится каждая переменная в программе; это дает информацию о данных в стеке, но не в памяти, которая распределяется динамически. Если у вас нет источника, то вы выполняете обратное проектирование, что намного сложнее, чем отладка.

    Значение данных, то есть то, что представляют данные в переменной, не то, что компьютер может вам рассказать.

    Понимание данных, показанных отладчиком, в общем, требует некоторого опыта программирования. Значение этих данных полностью зависит от программы, нет общих соображений. Не погружаясь глубоко в конкретную программу и способ ее компиляции, это всего лишь куча чисел.

    Interesting Posts

    shorewall – VoIP – буфер дрожания

    Расширение общей памяти MIT или MIT-SHM над ssh

    Можем ли мы добавить репозиторий Manjaro в Arch-Linux?

    Блендер падает при нажатии правой кнопкой мыши, не знает, как обновить драйвер

    Nagios не запускает команду уведомления

    Есть ли способ перенаправить запросы от foo.com на виртуальную машину на этом сервере?

    он-лайн подсчет уникальных строк

    Как удалить все CRLF в файле (не заменять LF)

    объявление переменной не работает

    Передача аргументов командной строки java из сценария JPackage

    Можете ли вы установить начальный размер на динамический дисковый накопитель Virtualbox?

    Как указать префикс протокола, содержащий «:» для функции завершения bash _known_hosts_real

    Проблема выполнения тестов HPCC и IMB на платформе IBM HPC

    Как контролировать попытки аутентификации в PAM?

    Символы Unicode не отображаются в браузерах (как на интерфейсе, так и на страницах)

    Linux и Unix - лучшая ОС в мире.