Mac OS X에 objdump를 어떻게 설치합니까?


46

Mac OS X에서 objdump를 사용하여 작은 명령 줄 도구의 소스 코드를 얻고 싶습니다.

Linux에서 arm-linux-objdump를 사용하여 훌륭한 도구를 찾았습니다.

OS X에 objdump를 설치하는 방법이 있습니까? Google을 검색하여 arm-apple-dawin9-objdump에 대한 정보를 찾았지만 다운로드 할 항목을 찾지 못했습니다.

답변:



32

Mac에 XCode 도구가 설치되어 있으면 함께 제공 되는 otool 을 사용할 수 있습니다 . 나는 그것이 objdump할 수있는 일을 거의한다고 생각합니다 .


14
otool의 경우 +1- otool -tV <executable>분해에 사용
Paul R

1
dwarftool유사한 기능도 제공합니다.
Mike Weller

3
otool에는 objdump -S와 같은 옵션이 있으며, 이는 소스 코드로 주석이 지정된 어셈블리 출력을 제공합니까? --help 출력에서 ​​실제로 파악할 수 없습니다.
rgngl

1
-bash: dwarftool: command not found
IgorGanapolsky

8

당신의 파일이 64bit 인 경우 사용한다 otool 대신 gobjdump 에서 바이너리 유틸리티 . Mac OSX에서 gobjdump는 32 비트 용입니다.


2
2017 년 현재 gobjdump 2.27 (홈브류에서 얻은 것 같아요?)은 macOS Sierra (10.12)에서 64 비트와 잘 작동합니다.
hmijail

6

Homebrew로 설치할 수 있습니다.

$ brew install binutils
==> Downloading https://homebrew.bintray.com/bottles/binutils-2.25.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring binutils-2.25.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/binutils/2.25: 107 files, 140M
$ which gobjdump
/usr/local/bin/gobjdump

2

Linux 및 대부분의 다른 UNIX 시스템에서 ELF 이진 형식의 binutils 도구 otool이므로 사용해야 objdump합니다. otoolMacOS의 Mach-O 이진 형식에 대한 디스어셈블러입니다. $ man otool사용 지침을 입력하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.