• ベストアンサー
  • 暇なときにでも

coreダンプの見方。

  • 質問No.38780
  • 閲覧数2303
  • ありがとう数6
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 69% (9/13)

Perlで掲示板等で、時々coreダンプをだしてしまうのですが、
このファイルにはいったい何が出力されているんですか?
見方とか、見るためのツールとかがあるんでしょうか。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 55% (155/280)

わざと perl に core をはかせる perl スクリプトも書けないこと
はないですけど、syscall を使うとか、C言語で書かれた外部ルー
チンを呼び出すといった特殊なことしてバグってしまうか、自身を
kill するといった明らかなことをするかしないといけませんので、
普通には起きないと思います。
だから、たいていは perl のバグと考えて差支えないと思います。

ところで、core をはくときに、どのようなメッセージで落ちてい
るかは記録に残っているでしょうか?cgi だと、メッセージが直接
には画面に出ませんが、httpd のログとか、FreeBSD なら
/var/log/messages のログとか(linux も同様のがあるはず)、探
してみてください。
お礼コメント
DeathPIYOPIYO

お礼率 69% (9/13)

お返事送れてすみません。
hi-hoのWebレンタルでCGIを利用しているので、logを見れないんです。
たまに、大きなcoreを吐いて容量を圧迫するので何故かなと思ってました。
syscallもkillもしていないです。謎です。
ありがとうございました。
投稿日時:2001/02/17 05:06

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 55% (155/280)

core には、もとのプロセスが利用していたメモリの内容が全部入っ
ています。プログラムのバグにより変なアドレスにアクセスしたり
した場合に、生成されます。(cgi プログラムのバグではなく、
perl 自身またはそれがダイナミックロードしたモジュールのバグ
です)

もとのプログラム(この場合、perl 自身)と、core の内容をつき
あわせれば、どのような原因で core をダンプすることになったか
が解析できます。解析のツールとしてはいくつかありますが、最近
の PC-UNIX では gdb が標準的でしょう。

ただし、シンボリックな(つまり、変数名とか行番号とかを使った)
解析をするには、もとの perl やモジュールが -g オプションつき
でコンパイルされ、かつソースコードが手元になければいけません。
そうでない場合は、機械語ごとに追うしかなくなるので、現実的で
はないでしょう。
補足コメント
DeathPIYOPIYO

お礼率 69% (9/13)

coreができるということは、perlで書かれたスクリプトに問題があるのでなくて、
Perl自身のバグと考えて良いんですね?
投稿日時:2001/02/11 00:48
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ