VxWorks の RTP アプリケーションに SQLite ライブラリを統合しようとしています。私は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
- 開発環境:ウインドリーバー
- CPU アーキテクチャ: PowerPC
前もって感謝します