Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

実践デバッグ技法を読んでの気付き vol.1 coreファイルについて

coreファイルについて

実践デバッグ技法を読んでの気付きというなの備忘録。

coreファイルとは

UNIX系OSにおいて、プログラムがエラーにより不正終了する際に、
メモリやレジスタの内容をディスクに記録すること。
もしくは記録したファイル。

参照:e-Words コアダンプより

coreファイルを出力するサンプルプログラム

sigsegv.c

#include <stdio.h>

int main( void )
{
  char* c = 0;
  printf( "%s/n", *c );

  return 0;
}

coreファイルの出力確認

【コマンド】

$ ulimit -a

【出力結果】
core file size (blocks, -c) 0 ※※※ 「0」の場合は出力されません。
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited

coreファイルの出力設定

【コマンド】

$ ulimit -c unlimited

【出力結果】
core file size (blocks, -c) unlimited ※※※ 先程、「0」だったものが、 unlimited となっている
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited

サンプルプログラムのコンパイル

【コマンド】

$ gcc -g sigsegv.c -o sigsegv.out

サンプルプログラムの実行(coreファイルを出力してみる)

【コマンド】

$ ./sigsegv.out

【実行結果】

drwxrwxr-t@ 3 root admin 102B 2 10 20:55 .
drwxr-xr-x 29 root wheel 1.0K 4 4 2013 ..
-r-------- 1 **** admin 351M 2 10 20:55 core.1378

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?