で、私は、Linux上でCを使用しています:メモリ破損の私は、エラーの下に取得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私はそれを知っているが、それは私の質問ではない。 valgrindの場合は – PUG