мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияСледующая версияСледующая версия справа и слева | ||
asm:gdb [14/02/2012 20:19] – arabusov | asm:gdb [14/02/2012 20:28] – arabusov | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== GDB ===== | ===== GDB ===== | ||
- | Рассмотрим код | + | Подробнее [[http:// |
+ | |||
+ | Рассмотрим код: | ||
< | < | ||
;в подключаемом *.o файле стандартной библиотеки Си | ;в подключаемом *.o файле стандартной библиотеки Си | ||
Строка 25: | Строка 27: | ||
</ | </ | ||
Ассемблируем и собираем программу: | Ассемблируем и собираем программу: | ||
- | < | + | < |
user@host ~/ | user@host ~/ | ||
user@host ~/ | user@host ~/ | ||
Строка 39: | Строка 41: | ||
For bug reporting instructions, | For bug reporting instructions, | ||
< | < | ||
- | Reading symbols from /home/luke/ | + | Reading symbols from /home/user/ |
(gdb) | (gdb) | ||
</ | </ | ||
+ | Устанавливаем точки останова: | ||
+ | < | ||
+ | Breakpoint 1 at 0x4004c0 | ||
+ | (gdb) b the_end | ||
+ | Breakpoint 2 at 0x4004d7 | ||
+ | (gdb) | ||
+ | </ | ||
+ | Далее можно использовать следующие команды: | ||
+ | * //r// -- выполнение до точки останова | ||
+ | * //n// -- пошаговое выполнение | ||
+ | * //p $rax// -- показать содержимое регистра //rax// | ||
+ | * //info registers// -- показать информацию обо всех регистрах | ||
+ | Кроме регистров у нас есть память, |