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)

관련 정보