Làm cách nào để cài đặt objdump trên Mac OS X?


46

Tôi muốn lấy mã nguồn của một công cụ dòng lệnh nhỏ bằng cách sử dụng objdump trên Mac OS X.

Tôi đã sử dụng arm-linux-objdump trên Linux và thấy nó là một công cụ tuyệt vời.

Có cách nào để cài đặt objdump trên OS X không? Tôi đã tìm kiếm Google và tìm thấy thông tin về arm-apple-dawin9-objdump, nhưng không tìm thấy gì để tải xuống.

Câu trả lời:



32

Nếu bạn đã cài đặt Công cụ XCode trên máy Mac, bạn có thể sử dụng otool đi kèm. Tôi tin rằng nó làm được khá nhiều những gì objdumpcó khả năng.


14
+1 cho otool - sử dụng otool -tV <executable>để tháo rời
Paul R

1
dwarftoolcũng cung cấp một số chức năng tương tự.
Mike Weller

3
otool có một tùy chọn như objdump -S, cung cấp đầu ra lắp ráp được chú thích bằng mã nguồn không? Không thể thực sự tìm ra từ đầu ra - trợ giúp.
rgngl

1
-bash: dwarftool: command not found
IgorGanapolsky

8

Nếu tệp của bạn là 64 bit , bạn nên sử dụng otool thay vì gobjdump từ binutils . Trên Mac OSX, gobjdump dành cho 32 bit.


2
Kể từ năm 2017, gobjdump 2.27 (tôi nghĩ rằng tôi đã nhận được nó từ homebrew?) Hoạt động tốt với 64 bit trong macOS Sierra (10.12)
hmijail

6

Bạn có thể cài đặt nó với 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

Bạn nên sử dụng otoolobjdumplà một công cụ binutils cho định dạng nhị phân ELF trên Linux và hầu hết các hệ thống UNIX khác. otoollà trình phân tách cho định dạng nhị phân Mach-O của MacOS. Nhập $ man otoolđể được hướng dẫn sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.