Перейти к содержанию
    

отладка дочернего процесса с помощью GDB

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

 

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

 

#gdb my_prog PID

 

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

 

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

 

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

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если PID потомка, то надо делать не

 

#gdb my_prog PID

 

а

 

#gdb child_prog PID

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если PID потомка, то надо делать не

 

#gdb my_prog PID

 

а

 

#gdb child_prog PID

 

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

 

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

 

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

 

1) запускаем gdb

2) устанавливаем 'set follow-fork-mode child'

3) ставим точку останова в теле потомка и запускаемся

4) gdb доходит до брейкпоинта и останавливается, далее отлаживаем потомка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...