2016-06-16 10 views
0

私はSTM32 Workbench(EclipseベースのIDE)を使用していますが、STM32F4 MCU C++アプリケーションまたは静的なlibテンプレートで作成された2つのC++静的ライブラリと2つのC++アプリケーションを備えたワークスペースがあります。GDBエラー "cp_search_static_and_baseclasses"

私の最初のアプリケーションは順調に進み、2番目のアプリケーションを開始しました。このプロジェクトテンプレートは、言語に関係なく、inifiniteループを持つmain.cを追加します。私はmain.cのすべてをデバッグしようとすると結構ですが、私は(私は内部のC++クラスを使用することを必要とする)main.cppににファイル名を変更した場合、GDBはエラーでデバッグする前に停止します。

/home/build/work/GCC-5-0-build/src/gdb/gdb/cp-namespace.c:343: internal-error: cp_search_static_and_baseclasses: Assertion `name[prefix_len + 1] == ':'' failed.

前最初のアプリケーションのmain.cppの場合でも、私の最初のアプリケーションに必要なだけのファイルには、 "No source file named"というエラーがたくさんあります。

私はGDB 7.10.1私はエラー "という名前のソースファイルが" 多分GDBがされていることを示していないことを前提と

EDIT

とEclipseの火星4.5.2にSTM32ワークベンチ1.9を使用してい

間違ったファイルがロードされたので、このアプリケーションに必要なプロジェクトだけで新しいワークスペースを作成しようとしましたが、すべてが機能します。それでも、すべてのプロジェクトを同じワークスペースに入れるのはいいですが、2つのワークスペースで開いているlibプロジェクトを有害にすることができるかどうかはわかりません。

+0

gdbの最新バージョンを入手して、もう一度お試しください。それでも問題が発生する場合は、バグを発見した可能性があります。それを追跡し、バグレポートを提出してください - **しかし、注意深い検査の後でなければ、問題はgdbであり、ライブラリや他のものではありません**。 – Olaf

答えて

0

完全な回答ではありませんが、貢献する情報があります。私はコメントとして追加するが、私は担当者を持っていない。まだそうするつもりはない。

私はメインに走ることができますが、ブレークポイントを設定するとOPと同じ動作になります。 gdbの私のバージョンは7.11です

私はホストからターゲットにsshとgdbを起動する場合、私は動作を観察しない - 私はブレークポイントを設定することができます問題はありません。 Eclipseでこれを行うと、私は悪い動作しか見ません。私が見る2つのシナリオの1つの違いは、gdbがEclipse経由で(ssh経由で)起動されたときに、--interpreter mi2オプションを使用することです。

多分これが回避策のアイデアをトリガーする...

1

私は、GDBのクラッシュとEclipseで同様の問題がありました。私はいくつかの古いブレークポイントをEclipseワークスペースでアクティブにしました。これらのブレークポイントを他のプロジェクトから削除した後、問題は解決されました。