Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: отладка дочернего процесса с помощью GDB
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
romez777
Приветствую.

Пытаюсь подключиться к потомку, которого рождает мое приложение, и поотлаживать его GDB'ой. Естественно все скомилил с "-g", далее запускаю gdb:

#gdb my_prog PID

устанавливаю точку останова, но отлаживать не могу, stepping не работает, ругается "Cannot find bounds of current function".

Что я упустил?

Версия GDB 5.3post-0.20021129.18rh

Спасибо.
Harbour
Оптимизация должна быть нафиг выключена (-O0) иначе будешь долго скрипеть мозгами в поисках похожих на программу мест.
qwesystemc
Если PID потомка, то надо делать не

#gdb my_prog PID

а

#gdb child_prog PID

Также стоит убедиться что не компилировал с тех пор как запустил программу, а также можно попробовать продолжить c и попытаться остановиться еще раз.
romez777
Цитата(qwesystemc @ Jul 30 2005, 00:31)
Если PID потомка, то надо делать не

#gdb my_prog PID

а

#gdb child_prog PID

Также стоит убедиться что не компилировал с тех пор как запустил программу, а также можно попробовать продолжить c и попытаться остановиться еще раз.
*


Приветствую.

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

1) запускаем gdb
2) устанавливаем 'set follow-fork-mode child'
3) ставим точку останова в теле потомка и запускаемся
4) gdb доходит до брейкпоинта и останавливается, далее отлаживаем потомка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.