0

gdb を起動すると、次のようなメッセージが表示されます。

$ gdb a.out 
GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Thu Nov  3 21:59:02 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries .
warning: Could not find object file "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc47/gcc47/work/build/x86_64-apple-darwin11/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a(array_type_info.o)" - no debug information available for "../../../../gcc-4.7.0/libstdc++-v3/libsupc++/array_type_info.cc".


warning: Could not find object file "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc47/gcc47/work/build/x86_64-apple-darwin11/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a(bad_alloc.o)" - no debug information available for "../../../../gcc-4.7.0/libstdc++-v3/libsupc++/bad_alloc.cc".

libstdc++ を再度フェッチする必要があるようですが、macports ではどうですか?

4

2 に答える 2

0

http://gcc.gnu.org/gcc-4.5/changes.htmlによると

GCCは、エピローグについてもアンワインド情報を生成するようになりました。GCCによって生成されたDWARFdebuginfoは、以前よりも多くのDWARF3の機能と、いくつかのDWARF4機能を使用するようになりました。7.0より古いGDBはこれらのいずれも処理できないため、GCC4.5で生成されたバイナリまたはライブラリをデバッグするにはGDB7.0以降が必要です。-gdwarf-3 -gstrict-dwarfオプションを使用してDWARF4機能の使用を無効にするか、 -gdwarf-2 -gstrict-dwarfGCCをDWARF2のみに制限するために使用できますが、アンワインド情報が発行されるたびにエピローグアンワインド情報が無条件に発行されます。

したがって、macportsに新しいGDBがあるかどうかを確認する必要があります。

于 2012-07-28T22:33:11.453 に答える