Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     13 Mar 2003  22:53:32
 To : Andrey Ivanov
 Subject : Re: howto analyse the .core file?
 -------------------------------------------------------------------------------- 
 
 
 >>> Andrey Ivanov wrote:
 
 AI> Оно говорит:
 AI> Core was generated by `asquila'.
 AI> Program terminated with signal 11, Segmentation fault.
 AI> #0  0x2813f96b in ?? ()
 AI> 
 AI> Hичего не понял. Пытаюсь запустить прогу из отладчика:
 AI> gdb asquila
 AI> (gdb)r
 AI> Program received signal SIGSEGV, Segmentation fault.
 AI> 0x2813f96b in getenv () from /usr/lib/libc.so.4
 AI> (gdb) backtrace
 AI> #0  0x2813f96b in getenv () from /usr/lib/libc.so.4
 AI> #1  0x281251e8 in tzset () from /usr/lib/libc.so.4
 AI> #2  0x28125411 in localtime () from /usr/lib/libc.so.4
 AI> #3  0x804957a in is_time_in_limit (logtime=0xbfbff548 "1047548303.824")
 AI>     at asquila.cpp:90
 AI> #4  0x8048e76 in main (argc=909195569, argv=0x3030322c) at main.cpp:53
 AI> #5  0x3030322c in ?? ()
 AI> Error accessing memory address 0x34383731: Bad address.
 AI> 
 AI> Можно ли на основании этой информации выяснить причину сбоя в работе 
 AI> программы? Может, gdb для этого не предназначен?
 AI> Спасибо.
 
 Предназначен. И показывает кое-что: что у тебя в указателе не нормальный
 адрес, а последовательность символов "1784". Следовательно, где-то сделана
 запись текста в буфер недостаточного для этого размера.
 Судя по тому, что точно так же испорчен адрес возврата из main()
 (туда попало ",200"), буфер был в переменных функции main().
 Да, а в argc у тебя "IUqp".
 Значит, первым делом пытаешься глазами найти переполнившийся буфер.
 Если не помогло - проходишь пошагово main() (командой "n"), на каждом
 сомнительном шаге проверяя (командой "bt") что не испорчен (остался как
 в начале) адрес возврата из main().
 Как нашёл сомнительное место - лечи.
 
 P.S. Только не говори, что это ты нодлист парсил ;))
 
 P.S.2. А вообще, отладка - отдельное ремесло и во многом - искусство.
 Hо лучше писать так, чтобы отладка не требовалась.
 
 P.S.3. Подозрительные чужие программы лучше собирать с libparanoia,
 она отлавливает наиболее кривые случаи работы со строками.
 -netch-
 --- ifmail v.2.15dev5
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 howto analyse the .core file?   Andrey Ivanov   13 Mar 2003 17:18:06 
 Re: howto analyse the .core file?   Victor Abramov   13 Mar 2003 17:37:44 
 Re: howto analyse the .core file?   Valentin Nechayev   13 Mar 2003 22:53:32 
 THANK YOU ALL   Andrey Ivanov   14 Mar 2003 14:22:24 
Архивное /ru.unix.bsd/7368c70340f5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional