dポイントプレゼントキャンペーン実施中!

TurboLinux10でとあるプログラムを実行していましたが、
coreファイルを吐き出してGUIが終了してしまうことがあります。
 gdb -c core.**** 実行ファイル名
というコマンドでGUIが終了した原因を調べたところ、
 kernel/malloc.c:3415
 kernel/malloc.c そのようなファイルやディレクトリは見つかりません。
と出ていました。

malloc.cというソースファイルを見たいのですが、
どこから入手すればよいでしょうか。

TurboLinux10は「全パッケージ」を選択してインストールしており、
カーネル再構築もできるのでカーネルのソースファイルは入っているはずですが、
最低3415行もあるmalloc.cは存在しません(十数行の同名ファイルはありました)。
TurboLinux10DesktopのソースファイルをFTPサーバーからダウンロードしようと、
ftp://ftp.turbolinux.co.jp/pub/TurboLinux/TurboL …
に行ってみたのですが、
勿論malloc.cが入っていそうなパッケージがわかりません。

(そもそも、「malloc.cが見つからない」と出た場合にmalloc.cを入手してくるべきなのでしょうか)

A 回答 (2件)

# rpm -ihv glibc-2.3.2-10.src.rpm


# cd /var/src/rpm/SPECS
# rpmbuild -bp glibc.spec
# cd /var/src/rpm/BUILD/glibc-2.3*/malloc/
# ls malloc.c
いかがでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

挙げていただいたコマンドで無事見ることができました。
ぱっと見た限りでは、なんでココ3415で落ちるんだろう、という印象だそうですが。

ありがとうございました。

お礼日時:2008/05/13 18:19

お探しのmalloc.cはglibcのものでしょう。


ただし、malloc関数よりも、coreを吐くプログラムにバグがある可能性の方が高いと思います。

この回答への補足

回答ありがとうございます。

>お探しのmalloc.cはglibcのものでしょう。
glibcの中に入っているのでしょうか?
FTPサーバーからglibc-2.3.2-10.src.rpmをダウンロードし、
rpm -ihv glibc-2.3.2-10.src.rpmで、
/var/src/rpm/SOURCESにglibc-2.3.2-10.src.rpmの中身が展開したようなのですが、
ここからmalloc.cというファイルの中身を見るにはどうしたらよいでしょうか。
/var/src/rpm/SOURCESには.patchや.tar.bz2といったファイルがあったのですが、
ためしにbzcatで.tar.bz2を解凍してみたところ、延々と何かが展開し続けてしまい、結局強制終了しました。
ここからmalloc.cというファイルを取り出すことはできないのでしょうか。

>malloc関数よりも、coreを吐くプログラムにバグがある可能性の方が高いと思います。
重々承知しております。
こちらは別の人間が探しております。

補足日時:2008/05/13 10:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!