デバッグしようとしている単純なc++プログラムがありますが、gdbはライブラリのオブジェクトファイルを見つけることができず(またはデバッグ情報が利用できません)、実行可能ファイルのデバッグシンボルも見つけることができないようです。
私はOSX10.5.8をMacPortsで使用しており、コードを次のようにコンパイルします。
g ++-mp-4.5 -Wall -pedantic -std = c ++ 0x -g -ggdb -I / opt / local / include -L / opt / local / lib -lgsl -static-libstdc ++ MCMC-simplex.cpp -o mcmc
(ファイルは1つだけで、g++-mp-4.5はgcc/ g ++ 4.5のmacports実行可能ファイルです)
結果の実行可能ファイルでgdbを実行しようとすると、(起動時に)次の形式のエラーメッセージが多数表示されます。
警告:オブジェクトファイル"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc45/work/build/i386-apple-darwin9/libgcc/trunctfdf2_s.o"-"のデバッグ情報が見つかりませんでした。 /../../gcc-4.5.0/libgcc/../gcc/config/soft-fp/trunctfdf2.c"。
これは、macportsのビルド中にバグがあることを示しています(gdbが一時ビルドディレクトリでオブジェクトファイルを探しているようです)。
プログラムがgdb(Appleから提供されたもの)にリストされているのを見ると、でランダムな.s
ファイルを検索しようとします/var/tmp
。これは、アセンブラーファイルのように聞こえます。そのため、私のプログラムのデバッグシンボルも見つからないようです。
MacPorts gdb 7.1を試してみると、
警告: `/var/folders/Xa/XaqHO9PeEC8K-Nrd0L9xWk+++TM/-Tmp-//cc2IvFto.o':シンボルを読み取るために開くことができません:そのようなファイルまたはディレクトリはありません。(デバッグシンボルが見つかりません)...完了しました。
そして、Appleのgdbが出す多くのエラーメッセージのどれも(最終結果は同じですが)。
誰かがこの問題に遭遇し、解決策を思いついたことがありますか?