Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить значения всех регистров, куда копать? 
:(
    Опции темы
slater
Дата 27.10.2010, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



требуется в определенный момент времени программно получить значения всех регистров процессора(по принципу дебаггера т.е. как то по прерыванию)
не знаю куда копать и что гуглить(все что нагуглил - ни к чему не привело)

кто знает как это происходит - объясните пожалуйста как это работает?

или хотя бы что гуглить?

Это сообщение отредактировал(а) slater - 27.10.2010, 13:13
PM MAIL   Вверх
slater
Дата 27.10.2010, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



т.е. вот например, gdb в какой то точке делает прерывание и получает значения регистров(во время отладки)
каким образом он их получает и откуда? процессор выплевывает в оперативку видимо эти значения? а куда? откуда их считать?
PM MAIL   Вверх
xvr
Дата 27.10.2010, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(slater @  27.10.2010,  13:33 Найти цитируемый пост)
каким образом он их получает и откуда?
Через ptrace (PTRACE_PEEKUSR/PTRACE_GETREGS)

PM MAIL   Вверх
slater
Дата 27.10.2010, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



спасибо!

ptrace? это системный вызов или утилитка?

Добавлено через 3 минуты и 46 секунд
покажите пример простенький, очень вас прошу.
почитал - не пойму как воспользоваться
PM MAIL   Вверх
xvr
Дата 27.10.2010, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(slater @  27.10.2010,  20:06 Найти цитируемый пост)
ptrace? это системный вызов или утилитка?
Системный вызов

Цитата(slater @  27.10.2010,  20:06 Найти цитируемый пост)
покажите пример простенький, очень вас прошу.

Наберите в google 'ptrace how to use' - куча ссылок
http://tldp.org/LDP/LGNET/issue81/sandeep.html
http://pramode.net/articles/lfy/ptrace/pramode.html
http://www.ece.virginia.edu/cheetah/links/helali/Ptrace.pdf


PM MAIL   Вверх
slater
Дата 27.10.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



xvr, спасибо
т.е. gdb юзает этот системный вызов?! других альтернатив нет ?
PM MAIL   Вверх
xvr
Дата 28.10.2010, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(slater @  27.10.2010,  21:50 Найти цитируемый пост)
т.е. gdb юзает этот системный вызов?!
Да
Цитата(slater @  27.10.2010,  21:50 Найти цитируемый пост)
других альтернатив нет ? 
Этот вызов сделан СПЕЦИАЛЬНО для отладчиков (и других средств отладки). Альтернативы может быть и есть (можно например /proc покапать. см man procfs), но они слабо изучены по причине ненужности - ptrace'а обычно хватает на все  smile 


PM MAIL   Вверх
slater
Дата 28.10.2010, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



xvr, спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0931 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.