드라이버를 작성하다 보면 버그 메세지들을 많이 보게 됩니다.


또 특정 함수의 실행주소가 필요할 때가 많은데요


이름과 주소로 검색을 하는 방법을 간단히 알아 봅니다.


간단한 예로 start_kernel 함수의 위치를 찾아 봅니다.


뭐 간단히 System.map 파일을 열어 검색해도 됩니다.


하지만 오브젝트 파일에서 심볼을 분리해서 찾을 수도 있습니다.


커널 컴파일을 하면 디렉토리에 vmlinux 라는 파일이 생깁니다.


root@boggle70-desktop:linux-2.6.31# nm vmlinux | grep start_kernel

c00488e8 T start_kernel


해당 주소를 찾을수 있습니다.
반대로도 가능하겠죠?

root@boggle70-desktop:linux-2.6.31# nm vmlinux | grep c00488e8

c00488e8 t $a

c00488e8 T start_kernel


커널 버그 메세지에서 보내주는 주소를 한번에 찾고 싶을때는 위와 같이 간단한 방법이 있습니다.