커널 core파일 디버깅에 대한 질문입니다..
글쓴이: kim1158 / 작성시간: 목, 2004/10/21 - 2:34오후
리눅스 2.4.* 커널 작업중인 학생입니다..
커널 네트워크 스택을 수정하고 있는데요..
메모리 할당메커니즘을 수정하는 중이다 보니 커널이
멎어버리는 상황이 빈번하게 발생합니다
커널의 core파일을 생성하긴했는데요.
이것을 어찌 디버그 해야하는지 고민중입니다.
제가 보고싶은것은 보통어플리케이션 디버깅하듯이
gdb exefile core 해서 bt로 어디서 죽는지 정도만 확인하면 되는데요.
gdb vmlinux core 하니 안되더군요.
리눅스 디바이스 드라이버 책을 보니 kdb나 몇가지 설명이 나와있긴한데요.
좀 석연치가 않습니다.
커널 core 디버깅.
어떻게 하시나요? 조언을 좀 부탁드립니다.
Forums:
Re: 커널 core파일 디버깅에 대한 질문입니다..
이것 한번 써보세요.
http://oss.missioncriticallinux.com/projects/crash/
참고로 왜 관련서적 등에서 디버깅 관련 설명이 석연치 않은가 하면, 진짜로 커널/드라이버 업무를 생업으로 하는 사람들은 디버거를 잘 필요로 하지 않기 때문입니다.
objdump를 써보세요.
리눅스 이미지(vmlinux)를 이용해서 objdump로 시스템 맵을 덤프한 이후,
core 파일의 내용을 체크해 보십시요.
그렇지 않다면, 시스템 크래쉬가 발생할 때, 현재 메모리 스택을 그대로 콘솔상에 덤프하도록 바꿔보세요.
위에 답변 다신 분들처럼 커널이나 디바이스 드라이버 관련 일을 할 때, gdb를 쓸 일은 그리 많지 않습니다.
A few Good Man
댓글 달기