리눅스 커널에서 패닉이 날 경우 어떻게 디버깅 하세요??

trymp의 이미지


안녕하세요. 리눅스 초보입니다.

리눅스 환경에서 user appllcation 은 GDB 나 addr2line 같은 tool 을 이용해서

죽은 메모리주소만 알면 쉽게 디버깅하잖아요..

근데 커널같은 경우는 패닉이 나서 웁스 메시지가 난 경우,

나타난 메모리 주소를 가지고 어떻게 디버깅하시나요??

가령 0x80A4645B 위치에서 죽었다고 할 때,

소스상의 죽은 위치를 어떻게 찾을 수 있는지 궁금합니다.

고수님들의 많은 조언 부탁드립니다.

pak2536의 이미지

익명 사용자의 이미지

커널 컴파일 옵션에서 TRACE관련 옵션 켜주면(보통은 켜있습니다) oops날때 backtrace가 나옵니다.
위의 링크와 관련된 내용을 찾아보시면 어렵지 않게 관련 내용을 찾아보실 수 있습니다.

trymp의 이미지

.