мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| asm:gdb [14/02/2012 20:15] – arabusov | asm:gdb [20/11/2013 22:50] (текущий) – arabusov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ===== GDB ===== | ===== GDB ===== | ||
| - | Рассмотрим код | + | Подробнее [[http:// |
| + | |||
| + | Рассмотрим код: | ||
| < | < | ||
| ;в подключаемом *.o файле стандартной библиотеки Си | ;в подключаемом *.o файле стандартной библиотеки Си | ||
| Строка 24: | Строка 26: | ||
| </ | </ | ||
| + | Ассемблируем и собираем программу: | ||
| + | < | ||
| + | user@host ~/ | ||
| + | user@host ~/ | ||
| + | Запускаем **gdb**: | ||
| + | < | ||
| + | GNU gdb (Ubuntu/ | ||
| + | Copyright (C) 2011 Free Software Foundation, Inc. | ||
| + | License GPLv3+: GNU GPL version 3 or later < | ||
| + | This is free software: you are free to change and redistribute it. | ||
| + | There is NO WARRANTY, to the extent permitted by law. Type "show copying" | ||
| + | and "show warranty" | ||
| + | This GDB was configured as " | ||
| + | For bug reporting instructions, | ||
| + | < | ||
| + | Reading symbols from / | ||
| + | (gdb) | ||
| + | </ | ||
| + | Устанавливаем точки останова: | ||
| + | < | ||
| + | Breakpoint 1 at 0x4004c0 | ||
| + | (gdb) b the_end | ||
| + | Breakpoint 2 at 0x4004d7 | ||
| + | (gdb) | ||
| + | </ | ||
| + | Далее можно использовать следующие команды: | ||
| + | * //r// -- выполнение до точки останова | ||
| + | * //ni// или //si// -- пошаговое выполнение | ||
| + | * //p $rax// -- показать содержимое регистра //rax// | ||
| + | * //info registers// -- показать информацию обо всех регистрах | ||
| + | Кроме регистров у нас есть память, | ||
| + | |||
| + | ===== Задание ===== | ||
| + | Напишите собственную программу, | ||