5

私は Zed Shaw の Learn C the Hard Way に取り組んでいます。

Valgrind の章の「What you should see」セクションには、さまざまな glibc 関数の行番号があります。

(明らかに) 私の CentOS 5.5 インストールには非デバッグ glibc がインストールされていると判断しました。ただし、yum は glibc-dbg (または同様のもの:

[nzucker:~/projects/lcthw]$ yum info \*glibc\* | grep Name
Name       : glibc
Name       : glibc
Name       : glibc-common
Name       : glibc-devel
Name       : glibc-devel
Name       : glibc-headers
Name       : compat-glibc
Name       : compat-glibc
Name       : compat-glibc-headers
Name       : glibc-utils

過去にパッケージを無計画にインストールして(パッケージを介して、またはソースからビルドして)Linuxボックスをブリックしたことがあるので、ここで何をしているのか知りたいです。

質問:

  1. glibc-devel が既にインストールされているため、デバッグ ライブラリはおそらく既にそこにあり、それらにリンクするか、コンパイル スイッチを追加するだけでよいのでしょうか?

  2. デバッグを有効にしてソースから glibc を再ビルドする (またはパッケージをインストールする) 場合、誤ってマシンをブリックしないようにするにはどうすればよいですか (つまり、間違ったパッケージをビルドしてライブラリの非互換性をトリガーするため)。

4

1 に答える 1

11

CentOS では、debuginfo-installコマンドを使用して特定のパッケージのデバッグ情報をインストールできます。例えば:

debuginfo-install glibc

debuginfoこれが機能するには、リポジトリを定義する必要があります。CentOS 5 の場合、以下を に入れます/etc/yum.repos.d/CentOS-Base-debuginfo.repo

[base-debuginfo]
name=CentOS-$releasever - DebugInfo
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
gpgcheck=0
enabled=0
protect=1
priority=1

警告: CentOS 6 の情報を探して Google からここにたどり着いた場合: これは CentOS 5 でうまく機能します。最新のパッケージに敬意を表します。CentOS 6 に適した debuginfo パッケージが見つかる場合と見つからない場合があります。

于 2012-04-27T14:44:36.500 に答える