我在linux中使用c,当我运行main.c时,我得到以下错误:
*检测到glibc / asde / pasc / source / cl / weasdashanges / webasdnges:malloc(): 内存损坏:0x08069098 * *
来自gdb的回溯如下:它指向函数dblogin,这很奇怪,因为我很确定不应该是问题,因为我从未在那里进行过更改。
if ((login = dblogin()) == FAIL) return 0;
并且此代码在更改之前正常工作。
(gdb) backtrace
#0 0x0012d422 in __kernel_vsyscall ()
#1 0x002f7651 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0x002faa82 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0x0032e49d in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0x00338591 in ?? () from /lib/tls/i686/cmov/libc.so.6
#5 0x0033b395 in ?? () from /lib/tls/i686/cmov/libc.so.6
#6 0x0033c70b in calloc () from /lib/tls/i686/cmov/libc.so.6
#7 0x001f9cd6 in ?? () from /usr/lib/libsybdb.so.5
#8 0x001edd1a in dblogin () from /usr/lib/libsybdb.so.5
#9 0x0804de13 in ?? ()
#10 0x0804e01b in ?? ()
#11 0x0804bf9f in ?? ()
#12 0x002e3bd6 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#13 0x0804a031 in ?? ()
关于如何找出具体问题的任何想法?就像gdb命令告诉它在每次写入该位置时中断