3

いくつかの組み込み開発のためにEclipseCDTの設定に取り組んでいますが、静的ライブラリでソースレベルのデバッグを機能させるのに問題があります。

私は自分のMakefileを使用しているので、これが今の私の最初の疑いです。特に、gdbが、ソースのない関数で使用できるシンボルテーブル情報がないと主張しているためです。静的ライブラリを使用する場合、ライブラリのデバッグ情報は通常、最終リンク段階のELFファイルに含まれていますか?現在、.aファイルでobjdump -Sを指定すると、完全なソース/アセンブリの組み合わせを確認できますが、デバッグ情報が.elfに含まれていません。デバッグ情報/ソースはメインアプリケーション用に存在します。ldにこれを含めるように指示するスイッチがありませんか?

それ以外の場合、特定の関数のデバッグ情報に関して何を探しているか(そして見つけられないか)をgdbに通知させるための最良の方法は何ですか。

4

2 に答える 2

3

理解した。

レッスンは非常に簡単です。常に、常に、makefileをトリプルチェックしてください。デバッグ情報なしで構築された静的ライブラリの古いコピーにまだリンクしていました。

于 2009-10-20T05:02:14.953 に答える
0

GDBは、そのデバッグ情報に対応するソースファイルを見つけていないだけだと思います。ソースファイルの場所を指定する方法については、http://web.mit.edu/gnu/doc/html/gdb_9.html#SEC51を参照してください。

于 2009-10-20T04:10:46.097 に答える