총 플래시 크기가 180MB 인 ARM9 보드에서 임베디드 응용 프로그램을 실행 중입니다. 나는 gdb
을 실행할 수 있어요,하지만 난GDB를 사용하여 코어 덤프 파일을 생성하는 방법을 제한하는 방법
(gdb) generate-core-dump
을 할 때 나는 또한 ulimit -c 50000
을 설정하지만 여전히 코어 덤프가이 제한을 초과
warning: Memory read failed for corefile section, 1048576 bytes at 0x4156c000.
warning: Memory read failed for corefile section, 1048576 bytes at 0x50c00000.
Saved corefile core.5546
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Tamper Detected
**********OUTSIDE ifelse 0*********
length validation is failed
오류가 발생합니다. 파일 크기를 확인하기 위해 ls -l
을 수행하면 300MB가 넘습니다. 이 경우 코어 덤프의 크기를 어떻게 제한해야합니까?
대상 보드에서 gdb를 실행 중입니다. gdbserver도 사용할 수 있지만 충돌이 쉽게 재현되지 않으므로 첫 번째 옵션을 사용할 것입니다. –
죄송하지만 gdb 또는 gdbserver를 쉽게 재현 할 수있는 크래시와 관련하여 실행하는 방법을 알 수 없습니까? – shodanex
@shodanex - 클라이언트 - 서버 모델을 사용하면 코어 파일에 180MB의 여유 공간 만있는 임베디드 시스템이 아닌 "호스트"파일 시스템에서 코어를 수집 할 수 있습니다. 아마 호스트 시스템은 완전한 HDD를 가지고 훨씬 더 큰 코어 파일을 저장할 수 있습니다. – Peter