zistenie kde je v programe double free
Mam vacsi program, pri je ho ukonceni mi glibc zahlasi nejaku "double free" chybu. Skompiloval som to s -ggdb, skusal som gdb aj valgrind ale nejak neviem prist na to kde je chyba, co a jak mam v gdb (alebo kde?) nastavit tak aby som to zistil ze kde je chyba? Cislo riadku by bolo super.
Pre pridávanie komentárov sa musíte prihlásiť.
gcc free.c -ggdb -o free
gdb free
a teraz
(gdb) run
Starting program: ./free
*** glibc detected *** double free or corruption (top): 0x0804a008 ***
Program received signal SIGABRT, Aborted.
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xa7e2c811 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xa7e2dfb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xa7e61c8a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xa7e6951f in mallopt () from /lib/tls/i686/cmov/libc.so.6
#5 0xa7e695c2 in free () from /lib/tls/i686/cmov/libc.so.6
#6 0x080483ca in main () at free.c:7
(gdb)
vdaka