Задать вопрос

Как найти ошибку в программе с системными вызовами?

Здравствуйте! Решил написать сетевое приложение на linux пользуясь яп СИ и стандартными библиотеками поставляемыми с компилятором gcc- с такими заголовочными файлами sys/epoll.h sys/socket.h и т. п.. По функционалу программа с помощью epoll_wait() в цикле делает опрос всех установленных tcp-соеденений на предмет чтения/записи/ошибок, и соответственно пишет/читает/закрывает соединение.
Сейчас, стал замечать что после, примерно, одного часа работы-простоя программа забирает все ресурсы процессора(99%-101%) при этом под нагрузкой программа потребляет на 30%-40% меньше ресурсов камня. Я впервые сталкиваюсь с подобной проблемой, не хочеться такое даже писать но может проблема в самой либе или системных вызовах и ядре, в общем, а может быть 32 битные системы уже не поддерживаются?
Сейчас запустил программу в отладчике gdb но опыта работы с ним у меня мало да и тип ошибки вводит в депрессию). Что посоветуете в такой ситуации?
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы