Linux 2.6.35でコアダンプを有効にする

Linux 2.6.35でコアダンプを有効にする

私はカスタマイズされた組み込みデバイス(ARMv7)でカーネル2.6.35を実行しています。コアダンプを取得しようとしていますが、コアダンプが無効になっているようです。

私のカーネル設定はここにあります。 https://pastebin.com/XXZ8YyaA

私のテストアプリケーションは次のとおりです。

int main() {
    return 1/0;
}

私は次のことを楽しみにしています:

Floating point exception (core dumped)

しかし、代わりにこれを得る:

Floating point exception

コアダンプが無効になったことを意味します。私のプラットフォームでどのようにアクティブにしますか?カーネルの機能を切り替えるオプションは、CONFIG_COREDUMP カーネルが出るまで追加されていないようです。バージョン 3.7。以前のカーネルでは常に有効になっていませんか?

# ulimit -a
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         unlimited
-m: resident set size (kbytes)      unlimited
-u: processes                       1710
-n: file descriptors                1024
-l: locked-in-memory size (kbytes)  64
-v: address space (kbytes)          unlimited
-x: file locks                      unlimited
-i: pending signals                 1710
-q: bytes in POSIX msg queues       819200
-e: max nice                        0
-r: max rt priority                 0
-N 15:                              unlimited
# ./crash
Floating point exception  

ベストアンサー1

不足しているカーネルオプションはCONFIG_ELF_CORE

General setup -> Configure standard kernel features (for small systems) -> Enable ELF core dumps

この機能を有効にすると、コアダンプを取得できます。

# ./crash
Floating point exception (core dumped)

おすすめ記事