私はLinuxでQt4.8を使用しています。ロードプラグインのQPluginLoader。プラグインがクラッシュした場合、アプリケーションもクラッシュします。アプリのクラッシュを避けるには?Qt.QPluginLoader。プラグインのクラッシュに対してアプリを非表示にする方法は?
1
A
答えて
2
ロードされたライブラリ内のseg-faultに対してアプリケーションを武装させることは確実ではありません。そのライブラリ内の機能をローカルソケットまたはyour favorite IPC method
を介して通信するサービスに移動することができれば、サービスとの通信の失敗を簡単に処理できます。
EDIT
私はSIGSEGV
をキャッチすることが可能であるかどうかを確認するために周りを探し少しをしたし、この非常に事を行うにしようとするソフトウェアライブラリがあることを学びました。
- GNU船libsigsegv
- たちの間でのC++ユーザーのための同様のライブラリsegvcatchについてのSOの質問もあります:C++: Is using segvcatch safe?私はOSXのボックスにこの簡単な例を試してみました、それが動作しませんでしたが。 YMMV。
「can not」を「should not」に変更しましょう。
1
プラグインはアプリケーションです。そこにはどのような種類の分離もありません。プラグインがクラッシュした場合、クラッシュするプロセスです。それがプラグインです。
プラグインは、モジュール式ソフトウェアシステムを設計する単なる方法です。誰もあなたにそれらを使うよう強制しない。 IPCライブラリを使用してコンポーネントプロセス間で通信することにより、独自のプロセスでモジュールを自由にコンパイルすることができます。
関連する問題
- 1. ルートデバイスなしでアプリを非表示/非表示にする方法5.0 +
- 2. datatablesプラグインで同様のデータを非表示にする方法
- 3. ブートストラップデータテーブルの列を非表示/非表示にする方法は?
- 4. javascriptを使用してdivを非表示/非表示にする方法は?
- 5. anglejsのdivを表示して非表示にする方法
- 6. Jqueryプラグインの開発を使用して段落を表示および非表示にする方法は?
- 7. jquery selectmenuプラグインでオプションを非表示にする方法
- 8. C#でプロセスを非表示/非表示にする方法は?
- 9. divを表示して非表示にする方法
- 10. テキストを非表示にしてクリックで表示する方法
- 11. メインウィンドウのクロムエクステンションを非表示/非表示にする方法
- 12. DRUPALのコンテンツを非表示にしてフロント.......を表示する方法は?
- 13. ページリロード後に非表示のdivを表示する方法は?
- 14. オープンレイヤー3でフィーチャーを非表示にして表示する方法は?
- 15. MediaPlayerプラグインによりアプリがクラッシュする
- 16. アプリケーションを非表示にして、タスクスイッチャーでアプリケーションを非表示にする方法はありますか?
- 17. JPanelをJFrameに表示/非表示する方法は?
- 18. ランチャーを非表示にして壁紙のみを表示する方法
- 19. C#、フォームを非表示にして別のフォームを表示する方法
- 20. チェックボックスリストの非選択アイテムを非表示にする方法は?
- 21. アプリがクラッシュし、logcatにエラーが表示されない場合の対処方法
- 22. キーボードアシスタントバーを非表示にする方法
- 23. デフォルトキーボードを非表示にする方法
- 24. アイテムを非表示にする方法
- 25. ウィンドウを非表示にする方法
- 26. ツールバーを非表示にする方法
- 27. ImageButtonを非表示にする方法
- 28. ソースを非表示にする方法
- 29. 角2のメニューを非表示にして表示する方法
- 30. iPhoneアプリでUIImagePickerControllerカメラシャッターを無効/非表示にする方法は?