LINUX.ORG.RU

SIGFAULT и pipe в shell


0

0

Добрый день!

Есть проблема - нужно отладить большой программный комплекс,
который пишет в stdout и на некоторых операциях сваливается
в segmentation fault. Использование gdb по ряду причин невозможно.
Причину SIGFAULT'a можно определить по последней строке,
напечатанной процессом.

При попытке переправить данные в файл или анализировать
их с помощью grep, awk и т.п., столкнулся с тем, что данные
пишутся блоками примерно по 1K. Причем, если произошел SIGFAULT,
то последний блок исчезает в никуда и причину падения установить
не удается.

Вопрос: можно ли отключить в shell'e буферизируемый ввод-вывод в каналах или каким-либо способом захватить всю информацию, которую
процесс пишет в stdout?

Спасибо.

Re: SIGFAULT и pipe в shell

буферизация происходит в самом процессе -- в libc

делай fflush после каждого вывода..

dilmah ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.