![]() |
|
Модераторы: xvr |
![]()
|
|
| IoganeGambaPuti |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
Здравствуйте!
Вообщем проганяю в отладчике код и после fork() делаю точку останова.Далее с родителем всё понятно,а как посмотреть на дочерний процесс?Я запускаю gdb в другой консоле:
Но получается вот что:
Он исходный файл не может найти или что? |
||||||
|
|||||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
смотри в сторону параметров gdb
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| IoganeGambaPuti |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
Спасибо. Переключиться после вызова fork с родителя на сына с помощью "set follow-fork-mode child" получилось,но назад уже никак. А насчёт моей беды с attach никаких мыслей нету? Почему когда я к процессу подключаюсь,gdb как будто не видит отладочной информации?И после
комманд next или step выдаёт это дурацкое
Это сообщение отредактировал(а) IoganeGambaPuti - 19.2.2009, 17:18 |
|||
|
||||
| vinick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 9.6.2005 Репутация: 4 Всего: 22 |
Это может означать, что ты прицепился к процессу в то время как он сидел в системном вызове. сделай backtrace чтобы проверить. Ну и дальше либо брекпойнт в свой код и continue, либо finish, пока не поднимешься по стеку вызовов в свой код. Лучше первый вариант, финишем можешь не выбраться. Это сообщение отредактировал(а) vinick - 20.2.2009, 05:42 |
|||
|
||||
| IoganeGambaPuti |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
Спасибо ребят,вроде разобрался.Вообщем когда родитель создаёт дочерний процесс fork`ом,я открываю ещё один tty и там gdb>attach к сыну,но что самое интересное ,этот дочерний процесс начинает выдавать себя за нового родителя,и в свою очередь опять вызывает этот же самый fork и получается третитий сын и т.д..Ошибка
получается,если после присоединения к новому процессу attach`ем ни задав ни одного брэкпоинта попробывать по нему пройтись next`ом или step`ом.Если сначало установить точку останова всё нормально. Вообщем вывод.Attach использовать при отладке родственных процессов нельзя,а надо пользоваться follow-fork-mode, не совсем удобно,но всё же. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |