• ベストアンサー

coreダンプの見方。

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

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

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

わざと perl に core をはかせる perl スクリプトも書けないこと はないですけど、syscall を使うとか、C言語で書かれた外部ルー チンを呼び出すといった特殊なことしてバグってしまうか、自身を kill するといった明らかなことをするかしないといけませんので、 普通には起きないと思います。 だから、たいていは perl のバグと考えて差支えないと思います。 ところで、core をはくときに、どのようなメッセージで落ちてい るかは記録に残っているでしょうか?cgi だと、メッセージが直接 には画面に出ませんが、httpd のログとか、FreeBSD なら /var/log/messages のログとか(linux も同様のがあるはず)、探 してみてください。

DeathPIYOPIYO
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

core には、もとのプロセスが利用していたメモリの内容が全部入っ ています。プログラムのバグにより変なアドレスにアクセスしたり した場合に、生成されます。(cgi プログラムのバグではなく、 perl 自身またはそれがダイナミックロードしたモジュールのバグ です) もとのプログラム(この場合、perl 自身)と、core の内容をつき あわせれば、どのような原因で core をダンプすることになったか が解析できます。解析のツールとしてはいくつかありますが、最近 の PC-UNIX では gdb が標準的でしょう。 ただし、シンボリックな(つまり、変数名とか行番号とかを使った) 解析をするには、もとの perl やモジュールが -g オプションつき でコンパイルされ、かつソースコードが手元になければいけません。 そうでない場合は、機械語ごとに追うしかなくなるので、現実的で はないでしょう。

DeathPIYOPIYO
質問者

補足

coreができるということは、perlで書かれたスクリプトに問題があるのでなくて、 Perl自身のバグと考えて良いんですね?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プログラムのcoreがダンプしない

    Linux上でプログラミングしていますが、私が作ったプログラムがバグってバスエラーなどを起こしたときに、coreダンプしません。そのためどこでバグって居るのかが解析できないことになります。 多分OSの何らかのコマンドにcoreをダンプするようにするスイッチがあるのだと思いますが、どのコマンドかを押してくださる人居ませんか。 同様な問題がMacOSXでも起こっていますが、まあとりあえずlinuxで問題解決したいです。

  • linux上でのcoreダンプの仕方

    現在、私が組んでいるC言語の中であるパッケージを使っておりますが、 その中で異常が出てしまい原因を調べております。 当方の環境は OS:Linux(Red Hat Enterprise Linux ES release 3) gcc バージョン 3.2.3 パッケージの開発元に問い合わせた所、coreダンプを送ってくださいといわれましたが、探して見た所、それらしきものは出力されていないようです。 unixでは"tras"コマンドでトレースできるような事を聞いたのですが、 linuxでも出来るのでしょうか? 検討違いな質問かも知れませんが、宜しくお願いします。 情報が足りなければいってください。

  • dumpコマンドのファイルへのリダイレクトについて

    Linux(centOS)においてdumpコマンドの標準出力した出力結果をファイルに出力しようと思い 以下のコマンドを実行してみましたがファイルに結果は出力されませんでした。 ・dump 0af <target> <source> >> a.log 色々と調べた結果以下のコマンドで結果を取得することはできたのですが ・dump 0af <target> <source> 2>> a.log 私の認識ではファイル・ディスクリプタ2は標準エラー出力と認識しているのですが なぜ2で結果が得られたのかがわかりません。(ちなみにdump処理結果はエラーではありませんでした) 他のパターンも試してみましたが以下のような結果になっています ・dump 0af <target> <source> >> a.log → 出力されず ・dump 0af <target> <source> 1>> a.log → 出力されず ・dump 0af <target> <source> 2>> a.log → 出力された どなたかわかる方がいらっしゃいましたらご教授願います

  • WINDOWS2000上でダンプ表示

    WINDOWS2000上で、テキストファイルを16進表示させるツールが標準であるでしょうか?(DUMPコマンドとか) もし標準であるなら教えてください。 お願いします。

  • ダンプツールとは?

    いつもお世話になっております。 早速ですが、ダンプツールとはどのようなものですか? 具体的な例などを挙げてもらえるとうれしいです。 よろしくお願いします。

  • DUMP出力

    Windodws xp proffess 起動時に、 アプリケーションエラーが発生します。 エラー内容は、以下のメッセージです。 "0x0040db3b" メモリが"written"になることは できませんでした。AI53BE.EXEアプリケーションエラー そこで、ダンプを出力させ、何のアプリが出しているのかを見極めたいのです。 ダンプの出力方法をご存知の方は、教えてください。

  • パールの組み込み関数dumpって

    牛歩ですがプログラミングPerl読み進めています! 今回はdumpという組み込み関数について質問です。 関数の詳細はさておき、とりあえずこの関数を呼び出すとバイナリーファイルが作成されると思っているのですが・・・ プログラムを実行すると Aborted という味気ないエラーを表示して終了します・・・ そしてバイナリーファイルも見あたりません。 どこか決まった場所に出来るのでしょうか。 どなたか教えてください。

    • ベストアンサー
    • Perl
  • dumpが出来なくなってしまいました。

    お世話になっております。 いつもバックアップを下記の要領で、(テープドライブをマウント→ダンプ)バックアップ取っているのですが、今日up2dateをかけていざバックアップを取ろうと思いましたら、下記のように dumpのコマンドが認識されません。 bash: dump: command not found dumpで更新されたとは思えませんが、確認しなかったので何ともです。 (up2dateの履歴って日付入りで確認できるんでしたでしょうか) 原因のわかる方いらっしゃいましたら、ご教授ください。 再度症状(コマンド手順)を下記に書きます↓ # mt -f /dev/nst0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (41010000): BOT ONLINE IM_REP_EN # dump 0uf /dev/st0 / bash: dump: command not found

  • 自サーバから別DBサーバのdumpをとり転送したい

    1台のサーバ内にDBとそれを利用しているシステム(perl)があります。 サーバを買い換えてDBとシステムを別々のサーバにのせることになり、今までperlで走らせていたDBのdumpをとる処理が動かなくなってしまいました。 今は手動でとっているのですが、処理としてperlで組めないでしょうか? (システムを利用した時にdumpをとりたいのでDBサーバでのcronではちょっと役不足です) dumpをとるためには、別サーバへシェルスクリプトをキックする必要があるのですが、これは可能なのでしょうか。 もし可能でしたらperlでどのように記述すればできるのか、以下の処理の記述についてアドバイスをお願いいたします。 1.DBのdumpをとる 2.WEBサーバに転送する 3.WEBサーバにあるdumpからDBを復元する

  • アプリケーション不具合時にメモリダンプをする方法

    OS内部の関数で問題が起きたときはOSの機能でメモリダンプをファイルにすることができますが、通常のユーザーアプリケーション不具合時にメモリダンプをファイルにする方法はありますか? またそれを解析するようなツールはありますでしょうか?(WinDBGみたいな) OSはwinXP、開発コードはVB6.0です。よろしくお願いします。

このQ&Aのポイント
  • 購入した無線キーボードの左下のctrlキーが使用できません。
  • 他のctrlキーは正常に使用できますが、一番よく使う左下のctrlキーだけが反応しません。
  • 故障している可能性があります。エレコム株式会社の製品についての質問です。
回答を見る

専門家に質問してみよう