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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определить функцию, если известен ее адрес 
:(
    Опции темы
kurtis
Дата 8.12.2010, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть такой код
Код

int some_foo(void (*proc)(), ...) {
    /* 
        ...    
    */
    
    if (child_is_hang) {
        fprintf(stderr, "fork_wait(0x%x) hangs - shutting down\n", (int)proc);
        system_poweroff();
    }
}


Смысл этой функции в том, что она делает fork, и если child сильно задумался, то она перегружаем систему. В child запускаем функцию которую передали в качестве аргумента. 

Проблема:
В рантайме происходит перегрузка системы и пишет адрес функции, которая зависла. 

Вопрос:
Мне нужно узнать какая именно функция зависла, как мне это сделать зная ее адрес?


Это сообщение отредактировал(а) kurtis - 8.12.2010, 17:46
PM MAIL   Вверх
Albor
Дата 8.12.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kurtis @  8.12.2010,  17:45 Найти цитируемый пост)
Мне нужно узнать какая именно функция зависла, как мне это сделать зная ее адрес?

можно создать map, где ключ - адрес функции, значение - её имя. 

Это сообщение отредактировал(а) Albor - 8.12.2010, 18:49
PM MAIL ICQ   Вверх
xvr
Дата 9.12.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(kurtis @  8.12.2010,  17:45 Найти цитируемый пост)
Мне нужно узнать какая именно функция зависла, как мне это сделать зная ее адрес?
Вытащить из отладочной информации. Процесс вытаскивания сильно зависит от платформы.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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