반응형
objdump 인 바이너리 유틸리티를 다루어 볼 것이다.
바이너리 유틸리티는 오브젝트 포멧의 파일을 조작 할 수 있다.
보통 라이브러리나 elf 형식의 파일을 어셈블리어 or 섹션 정보 등 출력이 가능하다.
아래는 vmlinux 를 vi 에디터로 열었을 때의 상황이다. objdump 를 통해 아래 파일을 분석 해보자
먼저 objdump 의 옵션을 아래와 같이 볼 수 있다.
-x 옵션을 통해 섹션 정보 확인이 가능하다. start 어드레스 영역과 아키텍처 정보도 확인 가능하다.
objdump -x vmlinux | more
다음은 -d 옵션을 통해 어셈블리어로 확인 가능하다.
objdump -d vmlinux | more
하지만 위 처럼 많은부분을 어셈블리어 만으로 보기는 힘들다.
그럴땐 address 로 특정부분 어셈블리어로 확인이 가능하다.
smsc_crc 부분을 System.map 을 통해 빌드 된 Symbol Address 를 확인 할 수 있다.
System.map 에서 확인 된 smsc_crc address 를 옵션에 넣어 특정 부분 어셈블리어를 볼 수 있다.
objdump --start-address=0xc0bbeeac --stop-address=0xc0bbeee9 -d vmlinux
반응형
'Embedded > Linux Kernel' 카테고리의 다른 글
[Linux Kernel] ftrace Log 포맷 해석 및 발생 경로 확인 (0) | 2022.02.01 |
---|---|
[Linux Kernel] ftrace 디버깅 사용하기 (0) | 2022.02.01 |
[Linux Kernel] 전처리 코드 생성 : 특정 전처리 파일 추출 (0) | 2022.01.27 |
[Linux Kernel] 전처리 코드 생성 : 전체 전처리 파일 추출 (0) | 2022.01.27 |
[Linux Kernel] 리눅스 커널 빌드 flex, bison 오류 해결하기 (0) | 2022.01.25 |