(새 문서: 분류: 리눅스 커널 == 개요 == 커널은 문제가 되는 상황에 커널을 종료 시키거나 (Panic)혹은 Oops 메시지를 출력하고 문제가 되는 부분을 복구하는 방식을 채택한다. 이 문서는 Oops상황에서 출력되는 메시지를 분석하는 법을 정리한다. == 정리 == # my_oops_init+0x12/0x21 은 symbol + offset/length이며 gdb에서는 list로 addr2line 으로는 addr2line -3 vmlinux 12341234(+offset)으로 디버깅하...)
 
편집 요약 없음
 
5번째 줄: 5번째 줄:


== 정리 ==
== 정리 ==
# my_oops_init+0x12/0x21 은 symbol + offset/length이며 gdb에서는 list로 addr2line 으로는 addr2line -3 vmlinux 12341234(+offset)으로 디버깅하면 된다.
my_oops_init+0x12/0x21 은 symbol + offset/length로 관리한다.
 
# gdb: '''list''' 12341234+0x12
# addr2line: '''addr2line''' -e vmlinux 12341234(+offset)


== 참고 ==
== 참고 ==
# https://www.opensourceforu.com/2011/01/understanding-a-kernel-oops/
# https://www.opensourceforu.com/2011/01/understanding-a-kernel-oops/
# https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/
# https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/

2024년 5월 2일 (목) 01:30 기준 최신판


개요

커널은 문제가 되는 상황에 커널을 종료 시키거나 (Panic)혹은 Oops 메시지를 출력하고 문제가 되는 부분을 복구하는 방식을 채택한다. 이 문서는 Oops상황에서 출력되는 메시지를 분석하는 법을 정리한다.

정리

my_oops_init+0x12/0x21 은 symbol + offset/length로 관리한다.

  1. gdb: list 12341234+0x12
  2. addr2line: addr2line -e vmlinux 12341234(+offset)

참고

  1. https://www.opensourceforu.com/2011/01/understanding-a-kernel-oops/
  2. https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/