デバッグが正常に動作しません。REDHAWKコンポーネントのデバッグ
私はREDHAWKのバージョン2.1.0を使用しています。カスタムコンポーネントを作成しようとしています。
実行バージョンとリリースバージョンを取得できます。
ここでは、入力を受け取り、2倍して出力ストリームにプッシュする、非常に基本的なカスタムコンポーネントを作成しました。今は、このコンポーネントをサンドボックスのデバッグモードで実行しようとしています。私だけが見ることができるこれは私がデバッグなしで私のコンポーネントを実行することを選択した場合
boost::shared_ptr<rh_logger::Logger>::operator->() at shared_ptr.hpp:653
でコールスタックの最後のエントリで、すべてが動作します。それは乗算さえします。
どういうことが起こっているのかわかりません。明らかに、このスマートポインタクラスはポインタが有効であることを確認するアサーションチェックを行い、ゼロであるためクラッシュすることになります。 - >演算子であると、これはかなり危険です。 SIGSEGVはスローされているエラーですが、BOOST_ASSERTが失敗した場合にそれを引き起こすのだろうか?
オペレーティングシステムはCentOS 7 64ビットで、通常のデスクトップIntelプロセッサで動作していますが、どちらが覚えていないのですか。
私は、REDHAWKマニュアルの2.2部に記載されているように、リポジトリをダウンロードしてREDHAWKをインストールしました。
新しいコンポーネントはREDHAWK IDE(Eclipseベース)で作成されたので、私はプログラム言語としてC++を選択しました。共有ライブラリと思われ、実行すると、ComponentHostというプロセスが開始されます。
私は、プロジェクトメニューのコンポーネントを右クリックし、サンドボックス内のコンポーネントとしてデバッグを選択することで、サンドボックス内のコンポーネントを起動しようとしています。リリースモードでコンポーネントを実行すると、このように動作します。
このものは本当に私にとってREDHAWKを殺しています。私はクラッシュするいくつかのコードで問題に遭遇しました。 – 0xbaadf00d