У меня есть приложение, которое я отлаживаю, и я пытаюсь понять, как работает GDB и почему я иногда не могу просмотреть приложение.Проблема, с которой я сталкиваюсь, заключается в том, что gdb зависает, и процесс, к которому он подключен, переходит в состояние перестал работать, когда я прохожу программу.После зависания gdb и необходимости его уничтожения, чтобы освободить терминал (ctrl-C не работает, я должен сделать это из другого окна терминала, получив идентификатор процесса для этого сеанса gdb и используя kill -9).
Я предполагаю, что gdb зависает, потому что ждет, пока приложение остановится при следующей инструкции, и каким-то образом приложение завершило выполнение без gdb, идентифицирующего это.Но это только предположение с моей стороны о поведении, которое я наблюдал до сих пор.Поэтому мой вопрос заключается в том, видел ли кто-либо подобное поведение раньше и / или мог бы предположить, в чем причина.Я думаю, что это может помочь мне улучшить мою стратегию отладки.
В случае, если это имеет значение, я использую g ++ 4.4.3, gdb 7.1, работающий на Ubuntu 10.04 x86_64.