2017-03-27 7 views
0

Eclipseのようなインタフェースを使用してプロジェクトをビルドしています。GDB: "-g"オプションでコンパイルされたアプリケーションですが、 "シンボルテーブルがロードされていません"というエラーが表示されます

"-g"オプションでアプリケーションをコンパイルしましたが、デバッグシンボルを削除する "strip"ユーティリティは使用されていません。 しかし、同様にGDBをロード中にエラーが表示される

シンボルテーブルがロードされていません。 "ファイル"コマンドを使用する

機能 "sc_main"が定義されていません。

ファイル./sc_main.cppのデバッグシンボルデータが見つかりませんでした。コンパイラのデバッグモードを有効にするには、このファイルを "-g"オプションで再コンパイルしてください。

答えて

0

デバッグシンボルでSystemCライブラリを構築していますか?

あなたはデバッグシンボル(UNIX/Linuxの)でのSystemCライブラリーを構築するための手順に従います。

$ tar xf systemc-2.3.1a.tar.gz 
$ cd systemc-2.3.1a 
$ mkdir objdir 
$ ../configure --prefix=$HOME/apps/systemc-2.3.1a --enable-debug 
$ make 
$ make check 
$ make install 

あなた"の.bashrc" に、環境変数"SYSTEMC_HOME"以下のように設定:

export SYSTEMC_HOME=$HOME/apps/systemc-2.3.1a 

端末セッションを再起動して環境変数を更新してください。

  • 注:デバッグシンボルは、ソースレベルのデバッグのための基本ソースフォルダを使用するようは、ソースフォルダを削除しないでください。
  • SystemCライブラリをインストールする場所に任意のパスを付けることができます。
+0

** SystemCライブラリについてではなく、私がsystemC **に基づいて構築しているプロジェクトについてです。 SystemCベースのモジュールを作成するのにEclipseを使用していますが、生成された最終オブジェクトファイルにはデバッグ情報がありません(デバッグセクションは生成されません)。 – geek

+0

デバッグ設定でビルドしていますか? Eclipse Console Build Output Logをここに置いてください。 – AmeyaVS

+0

ありがとうAmeyaVs、今実際には私が "-g"コンパイラオプションを追加しましたが、最終的に属性** STRIP_DEBUG_SYMBOLS **に基づいてストリップされたオブジェクトファイルを追加しました。 この属性は設定ファイルで "yes"に設定されました。これを "いいえ"に変更すると、期待どおりに動作し、デバッグ情報が最終的なバイナリに生成されます。 – geek

関連する問題