|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Victor Wagner 2:5020/400 01 Nov 2002 18:45:27 To : Oleg Goodyckov Subject : Re: Segmentation fault -------------------------------------------------------------------------------- Oleg Goodyckov <og@videoproject.kiev.ua> wrote: OG> Привет всем! OG> Вот тут есть задачка в тему об использовании отладчика да и вообще - OG> проблема. OG> Программа читает двоичный файл и одновременно пишет в другой. Где-то ближе OG> к концу исходного файла программа вылетает с сообщением Segmentation OG> fault. Отладчиком туда добраться - нереально: место сбоя плавает. OG> Отладочная печать не помогает, т.к. программа выпадает, собственно, прямо OG> посередине отладочной команды printf("end of proc\n") - выдает только "end OG> of" и загибается. Перед этим выдав это сообщение пару тысяч раз вполне OG> успешно. ulimit -c много сказать не пробовал? Чтобы корку сбросила, а потом ее отладчиком. OG> Использование mallinfo() показывает, что память расходуется довольно мало OG> и при завершении программы из выделенного буфера свободной памяти остается OG> еще 2 с лишним кила (при запросах программы по 160 байт за одну malloc). OG> Использование mtrace показывает, что утечек памяти нет. OG> Как тут быть? Что-то ума не приложу. До сих пор подобные глюки ловить OG> удавалось легко именно за счет отладочной печати. Тут же - никак. OG> Впечатление такое, буд-то отладочное сообщение дрейфует в запретную OG> область. Или накапливаются какие-то изменение, которые не возможно учесть. Это бывает. Скорее всего двойной free или что-то в этом роде. Можно попробовать слинковать программу с libefence, или каким еще malloc debugger-ом. Тогда с достаточно высокой вероятностью она будет падать там, где ошибка реально происходит. После этого gdb program core и вперед. Еще есть идея - писать отладочный вывод write, а не printf-ом. -- http://www.communiware.ru http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/15178040a8028.html, оценка из 5, голосов 10
|