我用c在linux下,当我运行main.ci得到如下错误:内存损坏在C
* glibc detected /asde/pasc/source/cl/weasdashanges/webasdnges: malloc(): memory corruption: 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命令告诉它在每次写入该位置时都会中断
的手表命令的错误是在*您的*代码。 –
@kerek SB我知道,但那不是我的问题。 – PUG