objdump 한글 번역 man page

http://man.kldp.org/wiki/ManPage/objdump.1

위 링크에 보면 친절하게 objdump 명령에 대한 한글 man page가 있다.

objdump

Section: GNU Development Tools (1)
Updated: 5 November 1991
Index

Return to Main Contents


 

이름

objdump -오브젝트 파일의 정보를 표시한다.

 

사용법

objdump

[-a|–archive-headers]

[-b bfdname | –target=bfdname]
[-C|–demangle]

[–debugging]

[-d|–disassemble]

[-D|–disassemble-all]

[–disassemble-zeroes]

[-EB|-EL|–endian={big|little}]
[-f|–file-headers]

[-h|–section-headers

| –headers]

[-i|–info]

[-j section | –section=section]
[-l|–line-numbers]

[-m machine | –architecture=machine]
[–prefix-addresses]

[-r|–reloc]

[-R|–dynamic-reloc]

[-s|–full-contents]

[-S|–source]

[–[no-]show-raw-insn]

[–stabs]

[-t|–syms]

[-T|–dynamic-syms]

[-x|–all-headers]

[–start-address=address]
[–stop-address=address]
[–adjust-vma=offset]
[–version]

[–help]

objfile

 

설명

objdump 는 하나 이상의 오브젝트 파일에 대한 정보를 출력한다.
각 옵션들은 어떠한 정보들을 출력할지를 제어한다.
이 정보들은 주로 일반적인 프로그래머가 아닌
컴파일 툴을 개발하는 프로그래머들에게 유용한 것이다.

objfile

은 조사할 오브젝트 파일들에 해당한다.
여기에 아카이브 파일을 지정한 경우에는
objdump 는 포함된 각각의 오브젝트 파일에 대한 정보를 출력한다.

 

옵션

동일한 역할을 수행하는
긴 형식과 짧은 형식의 옵션은 함께 표기하였다.
-l

(–line-numbers) 옵션을 제외하고 최소한 하나 이상의 옵션이
지정되어야 한다.

-a

–archive-headers

만약 objfile 중의 하나가 아카이브 파일인 경우,
아카이브 헤더 정보를

 ( `ls -l‘과 비슷한 형태로) 출력한다.
`ar tv‘ 명령을 통해 알 수 있는 정보를 제외하고, `objdump -a‘ 명령은 아카이브 멤버인 각각의 오브젝트 파일에 대한 형식을 보여준다.

–adjust-vma=offset

정보를 출력할 때,
먼저 모든 섹션 주소에
offset

을 더한다.
이것은 a.out 형식과 같이 섹션 주소를 표현하지 않는 형식에서
어떤 섹션을 특정 주소에 위치시키려는 경우와 같이,
섹션 주소가 심벌 테이블과 일치하지 않는 경우에
유용하게 사용될 수 있다.

-b bfdname
–target=bfdname

오브젝트 파일에 적용될 오브젝트 코드 형식을
bfdname으로 지정한다. 이 옵션은objdump 가 자동적으로 해당 형식을 인식할 수 있는 경우에는 필요치 않다.
예를 들어,

objdump -b oasys -m vax -h fu.o

명령은
Oasys 컴파일러를 통해 생성된 형식인
Vax 오브젝트 파일로 지정된 (`-m‘)
`fu.o‘ 파일의
섹션 헤더에서 (`-h‘) 요약 정보를 출력한다.
적용할 수 있는 형식의 목록을 보려면
`-i‘ 옵션을 이용하도록 한다.

-C

–demangle

저수준의 심벌 이름을 사용자가 알아볼 수 있는 형태로 디코딩(demangle)한다.
시스템에서 부여한 앞부분의 언더스코어를 제거하는 일 이외에도,
이것은 C++ 함수의 이름을 읽을 수 있도록 변환해 준다.

–debugging

디버깅 정보를 출력한다.
이것은 파일 내에 저장된 디버깅 정보를 분석하여
C 언어와 비슷한 현태로 출력한다.
오직 몇가지 타입의 디버깅 정보 만이 구현되어 있다.

-d

–disassemble

objfile에서 기계어 부분에 해당하는
어셈블러 명령어를 출력한다.
이 옵션은 오직 명령어들을 저장하도록 되어있는 섹션들만을
디스어셈블링 한다.

-D

–disassemble-all

-d 옵션과 비슷하지만,
명령어가 저장되어 있는 섹션만이 아닌
모든 섹션의 내용을 디스어셈블한다.

–prefix-addresses

디스어셈블 시에, 각 라인의 완전한 주소값을 출력한다.
이것은 예전의 디스어셈블리 형식에 해당한다.

–disassemble-zeroes

일반적으로 디스어셈블된 출력은 제로 블럭(모든 데이터가 0인 블럭)을 건너뛴다.
이 옵션이 사용되면 이러한 제로 블럭들도 다른 데이터와 마찬가지로 디스어셈블한다.

-EB

-EL

–endian={big|little}

오브젝트 파일의 엔디안 형식을 지정한다.
이것은 오직 디스어셈블링 시에 적용된다.
이 옵션은 S-records와 같이 엔디안 정보를 갖고 있지 않는 형식의 파일을
디스어셈블할 때 유용하게 사용될 수 있다.

-f

–file-headers

objfile내의 각 파일들의 전체 헤더에서 요약 정보를 출력한다.

-h

–section-headers

–headers

오브젝트 파일의 섹션 헤더에서 요약 정보를 출력한다.

–help

objdump

에서 사용할 수 있는 옵션의 요약 정보를 출력하고 종료한다.

-i

–info

-b 혹은 -m옵션과 함께 사용할 수 있는 모든 아키텍처와 오브젝트 형식의 목록을 출력한다.

-j name
–section=name

name 섹션의 정보만을 출력한다.

-l

–line-numbers

(디버깅 정보를 사용하여) 오브젝트 코드를 출력할 때
해당 부분의 파일명과 라인 번호를 함께 출력한다.
이 옵션은 -d, -D, -r
옵션들과 함께 사용할 때에만 의미가 있다.

-m machine
–architecture=machine

오브젝트 파일을 디스어셈블할 때 사용할 아키텍처를 지정한다.
이 옵션은 S-records와 같이 아키텍처 정보를 포함하지 않은
오브젝트 파일을 디스어셈블할 때 유용하게 사용할 수 있다.
사용할 수 있는 아키텍처의 목록은
-i 옵션을 이용하여 알아볼 수 있다.

-r

–reloc

파일의 재배치 항목들을 출력한다.
이 옵션이 -d 옵션이나
-d 옵션과 함께 사용된 경우에는,
재배치 항목들은 디스어셈블 결과와 섞여서 출력된다.

-R

–dynamic-reloc

파일의 동적 재배치 항목들을 출력한다.
이 옵션은 오직 공유 라이브러리와 같은 동적 객체에 적용할 경우에만
의미를 가진다.

-s

–full-contents

요청한 섹션의 완전한 내용을 출력한다.

-S

–source

가능하다면 디스어셈블링된 결과와 함께 소스 코드를 출력한다.
-d 옵션을 사용한 것과 비슷한 효과이다.

–show-raw-insn

디스어셈블할 때 명령어의 심벌과 함께 16진수 값을 출력한다.
이것은
–prefix-addresses

옵션이 사용되지 않은 경우의 기본값이다.

–no-show-raw-insn

디스어셈블할 때, 명령어의 16진수 값을 출력하지 않는다.
이것은
–prefix-addresses

옵션이 사용된 경우의 기본값이다.

–stabs

ELF 파일의 .stab, .stab.index, .stab.excl 섹션의 내용을 출력한다.
이것은 ELF 섹션 내에 .stab 디버깅 심벌 테이블 항목이 들어있는
(솔라리스 2.0과 같은) 시스템에서 유용하게 사용될 수 있다.
다른 대부분의 파일 형식들은 디버깅 심벌 테이블 항목들은
–syms output 옵션을 통해 볼 수 있는
링크 심볼들과 뒤섞여 있다.

–start-address=address

지정된 주소의 데이터에서부터 출력을 시작한다.
이 옵션은
-d,
-r

,
-s

옵션의 출력에 영향을 미친다.

–stop-address=address

지정된 주소의 데이터에서 출력을 중지한다.
이 옵션은
-d,
-r

,
-s

옵션의 출력에 영향을 미친다.

-t

–syms

심벌 테이블. 파일의 심벌 테이블 항목들을 출력한다.
이것은
`nm‘ 프로그램에서 제공하는 정보와 비슷한 형태로 출력된다.

-T

–dynamic-syms

다이나믹 심벌 테이블.
파일의 동적 심벌 테이블 항목들을 출력한다.
이 옵션은 공유 라이브러리와 같은 동적 객체에 대해서만 의미를 가진다.
이것은
`nm‘ 프로그램에서
-D (–dynamic)

옵션을 사용하였을 때
제공하는 정보와 비슷한 형태로 출력된다.

–version

objdump

의 버전을 출력하고 종료한다.

-x

–all-headers

심벌 테이블과 재배치 항목들을 포함한 가능한 모든 헤더 정보를 출력한다.
`-x‘ 옵션을 사용하는 것은
`-a -f -h -r -t‘ 옵션을 모두 함께 준 것과 동일하다.

 

관련 항목

info
`binutils

항목;
The GNU Binary Utilities, Roland H. Pesch (October 1991);
nm(1).

 

COPYING

Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.

 

번역

김남형 <namhyung@gmail.com> 2006년 1월 19일