ホームページ  >  記事  >  バックエンド開発  >  Ubuntu で C 例外をデバッグするときに GDB がファイル不足エラーを報告するのはなぜですか?

Ubuntu で C 例外をデバッグするときに GDB がファイル不足エラーを報告するのはなぜですか?

DDD
DDDオリジナル
2024-11-11 00:29:02541ブラウズ

Why Does GDB Report a Missing File Error When Debugging C   Exceptions in Ubuntu?

GDB でライブラリ ソース コードのファイル不足エラーが表示される

GDB を使用して C 例外をデバッグすると、ファイルが見つからないことを示すエラー メッセージが表示される場合があります。 「raise.c」の「そのようなファイルまたはディレクトリはありません」などのファイル。このエラーは、例外が正しく処理された場合でも発生する可能性があります。

解決策: ライブラリのソース コードとデバッグ情報を取得する

この問題に対処するには、関連するライブラリ (この場合は libc6) のソース コードとデバッグ情報。 Ubuntu は、この目的のために debuginfo パッケージを提供します。

C ライブラリ ソース コードをデバッグする手順:

  1. libc6 の debuginfo バージョンをインストールします: sudo apt install libc6- dbg.
  2. を構成しますソース コード パッケージをダウンロードするためのパッケージ システム:

    • dpkg-dev をインストールします: sudo apt install dpkg-dev.
    • /etc/apt/sources 内の「deb-src」行のコメントを解除します。必要に応じてリストを表示します。
  3. ソースをダウンロードコード:

    • ディレクトリを作成します: /opt/src.
    • ソース コードをダウンロードします: apt source libc6.
    • ソース コード ディレクトリに注意してください (例: /opt/src/glibc-2.23).
  4. GDB のソース コード ディレクトリを調整します:

    • (gdb) を使用して、予想されるソース コード ディレクトリを特定します。 info source.
    • ソース コードを予想される場所に移動またはシンボリックリンクするか、設定します代替パス: (gdb) set replace-path /expected-location /actual-location.

これらの手順が完了すると、GDB は正しいソースにアクセスできるようになります。コードを作成し、例外の正確なデバッグ情報を提供します。

以上がUbuntu で C 例外をデバッグするときに GDB がファイル不足エラーを報告するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。