我正在尝试将 SQLite 库集成到 VxWorks 上的 RTP 应用程序中。我构建了 SQlite 并静态链接它。我运行在其他系统上运行良好的简单测试。测试非常原始:sqlite_open()、sqlite_exec()、sqlite_close()。参数正确(适用于其他系统)。
我体验过 SIGSEGV(信号代码 11)。我使用“printf()s”追踪到崩溃点,发现它在调用 pthread_mutex_lock() 后崩溃。有趣的是 - 它从函数调用返回然后崩溃。我检查了堆栈大小(在实际崩溃之前有一个 taskDelay() )。堆栈足够大,远未达到极限。
我尝试使用SQLITE_HOMEGROWN_RECURSIVE_MUTEX构建 SQlite,而没有。我一直使用SQLITE_THREADSAFE 1构建。
如果有人经历过类似的事情并设法解决它 - 请告诉我。
这里有一些细节,只是为了概述它们。
- VxWorks 版本:6.8
- SQlite 来源:3.7.16.1
- 开发环境:Windriver
- CPU架构:PowerPC
提前致谢