위키득계정 ↗
기술

LLVM Objdump

LLVM Objdump기술
실행 이름
llvm-objdump
분류
바이너리 내용 조회
기능 예
디스어셈블과 심벌 조회
입력
오브젝트 파일과 링크된 이미지
LLVM Objdump는 오브젝트 파일과 링크된 바이너리의 내용을 출력하는 도구다. 디스어셈블과 헤더, 섹션, 심벌 및 재배치 정보 등을 살펴볼 수 있다.

파일의 여러 관점

기계어 명령을 해석하는 것 외에도 파일 헤더와 섹션 목록, 심벌 표 등을 출력한다. 어떤 정보가 필요한지에 맞춰 명령을 선택한다. 파일 형식과 아키텍처에 따라 제공되는 정보와 옵션의 의미가 다를 수 있다.

디스어셈블 범위

실행 가능한 섹션이나 지정한 심벌을 중심으로 명령을 볼 수 있다. 대상 아키텍처와 CPU 기능 설정이 명령 해석에 영향을 준다. 알려지지 않은 명령이라는 출력이 항상 파일 손상을 뜻하는 것은 아니므로 설정을 함께 확인한다.

이름과 실행의 차이

심벌 이름을 사람이 읽기 쉽게 풀어 표시하거나 디버깅 정보와 연결하는 기능을 활용할 수 있다. 하지만 정적인 명령 목록만으로 실제 실행 빈도와 병목을 알 수는 없다. 실행 특성을 판단하려면 프로파일 자료와 입력 조건을 함께 살펴야 한다.

관련 문서

LLVM LLC / Bloaty / Capstone / Ghidra