возникает ошибка 'Broken pipe' только при использовании пошаговой отладки с GDB - PullRequest
1 голос
/ 01 июня 2011

Существует сервер Unix-сокетов, написанный на PHP (но я не думаю, что это как-то связано с этим).Клиентская часть написана на c ++ и основана на библиотеке boost :: asio.Когда я запускаю программу нормально - все работает нормально , за исключением одной (не связанной с сокетной связью) ошибки, которую я, очевидно, хочу отладить.Но когда я запускаю пошаговую отладку , я немедленно получаю 'Broken Pipe' об ошибках на шагах, которые выполняют операции записи на сокетах .Если точка останова установлена ​​после операции записи в сокет - все работает нормально до следующей попытки перешагнуть через функцию записи.

Целый день провел, пытаясь решить эту проблему, но безуспешно ...

Кто-нибудь сталкивался с такой же проблемой?

  • с использованием GDB в комплекте с xCode 3.2.5(64-разрядная версия) под OS X 10.6.7

1 Ответ

0 голосов
/ 02 июня 2011

GDB использует сигналы агрессивно.Если вы хотите установить обработчики сигналов, посмотрите следующий пример:

https://github.com/sean-/Boost.Examples/blob/master/asio/timer/timer.cc#L106

...