8.2. デバッグプログラムの準備


デバッグ情報を使用したプログラムのコンパイル

GNU デバッガー が読み取り可能なデバッグ情報で C プログラムをコンパイルするには、-g オプションを指定して gcc コンパイラーが実行されていることを確認します。

$ scl enable devtoolset-12 'gcc -g -o output_file input_file...'

同様に、デバッグ情報を使用して C++ プログラムをコンパイルするには、以下を実行します。

$ scl enable devtoolset-12 'g++ -g -o output_file input_file...'

例8.1 デバッグ情報を使用した C プログラムのコンパイル

以下の内容を fibonacci.c 含むという名前のソースファイルについて考えてみましょう。

#include <stdio.h>
#include <limits.h>

int main (int argc, char *argv[]) {
  unsigned long int a = 0;
  unsigned long int b = 1;
  unsigned long int sum;

  while (b < LONG_MAX) {
    printf("%ld ", b);
    sum = a + b;
    a = b;
    b = sum;
  }

  return 0;
}

GNU デバッガー のデバッグ情報とともに、Red Hat Developer Toolset の GCC を使用してコマンドラインでこのプログラムをコンパイルします。

$ scl enable devtoolset-12 'gcc -g -o fibonacci fibonacci.c'

これにより、現在の作業ディレクトリーに fibonacci という名前のバイナリーファイルが作成されます。

既存パッケージのデバッグ情報のインストール

システムにすでにインストールされているパッケージのデバッグ情報をインストールするには、次のコマンドを実行します。

# debuginfo-install package_name

debuginfo-install ユーティリティーをシステムで使用できるようにするには、yum-utils パッケージがインストールされている必要があることに注意してください。

例8.2 glibc パッケージのデバッグ情報のインストール

glibc パッケージのデバッグ情報をインストールします。

# debuginfo-install glibc
Loaded plugins: product-id, refresh-packagekit, subscription-manager
--> Running transaction check
---> Package glibc-debuginfo.x86_64 0:2.17-105.el7 will be installed
...
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.