首页 文章

在将SQLite集成到VxWorks上的RTP应用程序时,会崩溃pthreads

提问于
浏览
2

我正在尝试将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 wersion:6.8

  • SQlite来源:3.7.16.1

  • 开发环境:Windriever

  • CPU架构:PowerPC

提前致谢

1 回答

  • 1

    我找到了 . 我的VxWorks操作系统中没有pthreads . 现在它有效 .

    奇怪的是,在构建针对pthreads库的应用程序时无法验证这一点 .

    没有简单的方法可以做到这一点,但至少有某种“存根”功能,比SIGSEGV更重要 . 或者我是否要求那么多钱?

相关问题