Unixのコアファイル

Unixのコアファイル

コアファイルについていくつかの質問があります。

1)コアファイルとは何ですか? 2) それが置かれるところ。 3)コアパイの用途は何ですか? 4) Cプログラムのコンパイル時にコアファイルを生成する方法。 5)コアファイルとコアダンプの違いは何ですか?

答え1

1)コアファイルとは何ですか?

コアダンプを含むファイル。特定の異常なプログラムのシャットダウン(不正なコマンドの実行など)により、デフォルトでコアダンプが生成されます。

2) それが置かれるところ。

通常、プロセスが生成された原因は現在ディレクトリから呼び出されたファイルですが、core一部のオペレーティングシステム(Linuxなど)では、他のファイルや別の文書として保存されるように再構成できます。プログラムにパイプされます。 Linuxでは、/proc/sys/kernel/core_patternコアダンプが配置されるファイル名を見つけます。

3)コアパイの用途は何ですか?

コアダンプはgdbなどのデバッガにロードできます。これにより、プログラムが終了したかのようにプログラムの状態を確認できます。これにより、開発者はプログラムの競合の原因をより簡単に特定できます。

4) Cプログラムのコンパイル時にコアファイルを生成する方法。

これは奇妙な質問です。私の考えでは、Cプログラムをコンパイルするときにコアダンプを生成するには、コンパイラがクラッシュする必要があると答えたようです!たとえば、コンパイラでバグを見つけて活用できます。あるいは、デフォルトでコアダンプでプログラムを強制終了してSIGQUIT送信することもできます。Ctrl^

5)コアファイルとコアダンプの違いは何ですか?

次のように定義できるようです。コアファイルは、コアダンプを含むファイルです。しかし、一般的に、ほとんどの人はこの用語を同じ意味で使うと思います。

関連情報