2

Valgrind 报告 SQLite 错误:

==11614== 跳转到下一行所述的无效地址
==11614== 在 0x0: ???
==11614== 通过 0x6E8CF: sqlite3MallocSize (sqlite3.c:19034)
==11614== 由 0x6E472: mallocWithAlarm (sqlite3.c:18870)
==11614== 由 0x6E520: sqlite3Malloc (sqlite3.c:18895)
==11614== 由 0x6ED56: sqlite3MallocZero (sqlite3.c:19159)
==11614== 0x6DA46:pthreadMutexAlloc (sqlite3.c:18039)
==11614== 0x6D779: sqlite3MutexAlloc (sqlite3.c:17353)
==11614== by 0xFA4B7: sqlite3_initialize (sqlite3.c:112588)
==11614== by 0xFD895: openDatabase (sqlite3.c:114531)
==11614== 通过 0xFDF13: sqlite3_open (sqlite3.c:114780)
==11614== 0x579C1:SqlLiteConnection_Connect(char*) (SqlLite.cpp:14)
==11614== 地址 0x0 没有被堆栈、malloc 或(最近)释放

我将一个有效值传递给sqlite3_open. 任何人对为什么会发生这种情况有任何想法?

PS 我正在使用 SQLite Amalgamation 版本 3.7.11。我正在运行 Mac OSX 10.7.3。SQLite 是用gcc -c -g -m32 sqlite3.c.

4

1 回答 1

0

我在 valgrind 3.7.0 中遇到了完全相同的问题。升级到 3.8.1 后,问题消失了。

于 2012-10-17T16:11:22.470 回答