objdump(1)

명칭
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 ] [-p|--private-headers] [--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... 그리고 조사하는 오브젝트 파일을 지정합니다. 아카이브(archive)를 지정했을 경우는, objdump (은)는 멤버의 오브젝트 파일 각각의 정보를 표시합니다.

옵션
여기에서는 옵션의 긴 형식과 짧은 형식을 함께 적어 있어, 그것들은 등가입니다. 적어도 -l (--line-numbers) 이외의 옵션을 하나는 줄 필요가 있습니다.

-a

--archive-headers
    objfile 그리고 지정된 안에 아카이브(archive)가 있으면, 어카이브(archive)의 헤더 정보를 (`ls -l '를 닮은 형식에서) 표시합니다. `ar tv '로 리스트 되는 정보에 가세해, 아카이브(archive)의 각 멤버의 오브젝트 파일 형식을, `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 (으)로부터, 기계어에 대응하는 아센브라니모닉크를 표시합니다. 이 옵션에서는 기계어를 포함해야할 섹션만을 disassemble 합니다.

-D

--disassemble-all
    -d 와 같습니다만, 모든 섹션의 내용을 disassemble 합니다. 기계어를 포함해야할 섹션에는 한정하지 않습니다.

--prefix-addresses
    disassemble시에, 각 행에 완전한 형태의 주소를 표시합니다. 이것은 낡은 disassemble 출력 형식입니다.

--disassemble-zeroes
    통상은 disassemble 출력으로 0 이 연속하는 부분은 날아갑니다. 이 옵션은 disassembler에, 그렇게 말한 부분도 다른 데이터와 (와)과 같이 disassemble 하도록(듯이) 지시합니다.

-EB

-EL

--endian={big|little}
    오브젝트 파일의 endian를 지정합니다. 이것은 disassemble에게만 영향을 줍니다. endian 정보를 가지지 않는, S 레코드와 같은 파일 형식을 disassemble 할 때에 유용합니다.

-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
    오브젝트 파일을 disassemble 할 때의 아키텍쳐를 지정합니다. S 레코드와 같은, 아키텍쳐 정보를 가지지 않는 오브젝트 파일을 disassemble 하는 경우에 유효합니다. -i 옵션으로, 지정할 수 있는 아키텍쳐명을 리스트 할 수 있습니다.

-p

--private-headers
    오브젝트 파일 포맷에 고유한 정보를 표시합니다. 실제의 정보는, 오브젝트 파일 포맷에 의존합니다. 오브젝트 파일 포맷에 따라서는, 추가 정보가 표시되지 않습니다.

-r

--reloc
    파일의 재배치 정보를 표시합니다. -d 또는 -D 와 함께 지정되었을 경우는, 재배치 정보는 disassemble 출력에 아로새겨져 표시됩니다.

-R

--dynamic-reloc
    파일의 실행시 재배치 정보를 표시합니다. 이 옵션은, 어떤 종류의 공유 프로그램 라이브러리등의 다이나믹 오브젝트에 붙어서만 의미가 있습니다.

-s

--full-contents
    지정된 섹션의 모든 내용을 표시합니다.

-S

--source
    가능하면 원시 코드를 disassemble에 혼합해 표시합니다. -d 를 암묵적으로 지정합니다.

--show-raw-insn
    인스트럭션을 disassemble 할 때에, 니모닉크에 가세해 기계어도 16 진수로 표시합니다. 이 동작은 --prefix-addresses 하지만 지정되어 있지 않은 경우의 디폴트입니다.

--no-show-raw-insn
    인스트럭션을 disassemble 할 때에, 기계어를 표시하지 않습니다. 이 동작은 --prefix-addresses (을)를 지정했을 경우의 디폴트입니다.

--stabs
    ELF 파일의 .stab, .stab.index, .stab.excl 섹션의 내용을 표시합니다. 이것은 .stab 디버그 심볼 테이블의 엔트리가 ELF 섹션에 격납되고 있는 (Solaris 2.0 과 같은) 시스템에서만 유용합니다. 다른 대부분의 파일 형식에서는, 디버그 심볼 테이블의 엔트리는 링키지 심볼에 삽입되고 있어, --syms 에서의 출력으로 볼 수가 있습니다.

--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.

This document is distributed under the terms of the GNU Free Documentation License, version 1.1. That license is described in the sources for this manual page, but it is not displayed here in order to make this manual more consise. Copies of this license can also be obtained from: http://www.gnu.org/copyleft/.

일본어 번역
노쿠비관고(hnokubi@yyy.or.jp): FreeBSD 용으로 번역