4

私はC++アプリケーションに取り組んでいます。私はクライアントからいくつかのコアファイルを入手しましたが、彼はそれらが現在生成されていると言っていますが、それらがどのように生成され、彼がそれらを生成して何をしたかについては言いたくありません。

彼が間違っているのではないかと疑っています。彼が私にずっと前に生成されたダンプをくれたのかもしれません。

ファイルの実際の作成時間を取得する方法はありますか?

ファイルが他のサーバーで作成されている可能性があり、彼がそれらを転送したのではないかと思います。誰でもplsが助けます。

コアファイルにない場合は、Unixに、現在のサーバーまたは他のサーバーでのファイルの実際の作成時刻を知る方法がある可能性があります。

plsは役立ちます。

4

1 に答える 1

3

core(4)コア ファイルの作成時刻は、 Solarisの形式では表示されません。

ただし、コアのセクションを調べることでできることがいくつかありますNOTES(救援への解放?)。詳細core(4)については、を参照してください。

最初にNOTESセグメント名を見つけます(おそらくnote0または(より可能性が高い)note1、先頭のドットなし)objdump -x core

処理開始時間

NT_PSINFOエントリには、メンバを持つ が含まれていますpsinfo_t( を参照) 。これは、プロセスの開始時刻です。<sys/procfs.h>pr_start

ゾーン名

同様に、コアが生成されたゾーン名がNT_ZONENAMEエントリにあります。

これはchar *、セグメントを解析せずにこれを行うための簡単で汚い方法であるため、ダンプして grep するだけです。

objdump -s -j note1 core | grep ...

elfdump -n...便利に聞こえますが、これを機能させることができませんでした)。

于 2012-05-25T12:44:54.200 に答える