に取り組んでいRHEL WS 4.5
ます。
このシステムに一致する glibc ソース rpm を取得し、それを開いて rpm2cpio を使用して内容を取得しました。
そのツリーで作業して、mtrace.c へのパッチを作成し (スタック バックトレース レベルをさらに追加したい)、スペック ファイルに組み込み、debuginfo rpm を含む新しい一連の RPM を作成しました。
これらすべてをテスト vm (同じ RH ベース イメージから作成) にインストールし、変更が含まれていることを確認できました。
しかし、より複雑な実行では、mtrace.c でクラッシュします...しかし、gdb はデバッグ情報を見つけることができないため、行番号情報を取得できず、実際に失敗をデバッグできません。
日付から、/usr/src/debug/glibc-2.3.6/ のテスト システムにデバッグ情報がインストールされていることを確認できると思います。
sharedlibrary libc*
gdb で試し
たところ、シンボルが既に読み込まれていることがわかりました。
私のテストには、ローカルでビルドされた python が含まれており、python の完全なシンボルが見つかりました。
私の感覚では、デバッグを有効にして rpmbuild の下で glibc がビルドされていない可能性があります。私はglibc.specファイルを見直し、さらにビルドしました
_enable_debug_packages
結果に影響を与える可能性があるように見える 1 として定義されます。rpmbuild のビルド ステップで呼び出された構成スクリプトを確認しても、何のヒントも得られませんでした。
うーん.. /usr/lib/debug/lib/libc-2.3.4.so.debug と /usr/lib/debug/lib/tls/i486/libc-2.3.4.so.debug を見つけましたが、これらは両方ともfile コマンドによって削除されたと報告されます。