मैं मैक ओएस एक्स पर objdump कैसे स्थापित कर सकता हूं?


46

मैं मैक ओएस एक्स पर objdump का उपयोग करके एक छोटे कमांड लाइन टूल का स्रोत कोड प्राप्त करना चाहता हूं।

मैंने Linux पर arm-linux-objdump का उपयोग किया है और इसे एक बढ़िया टूल पाया है।

क्या ओएस एक्स पर objdump स्थापित करने का कोई तरीका है? मैंने Google को खोजा है और आर्म-ऐप्पल-डॉविन 9-ओबजंप के बारे में जानकारी प्राप्त की है, लेकिन डाउनलोड करने के लिए कुछ भी खोजने में विफल रहा।

जवाबों:


57

objdumpBinutils का हिस्सा है ।


8
Homebrew यह भी है! :)
एड्रियन पेट्रेस्कु

9
मैं उम्मीद कर रहा था homebrew यह है! धन्यवाद! brew install binutils
nacho4d

11
MacPorts binutils के objdumpरूप में स्थापित करता है gobjdump

1
-bash: objdump: command not found
इगोरगानापोलस्की

1
brew install binutilsइसे गोब्जम्प के रूप में भी स्थापित करता है
जोसेफ

32

यदि आपके पास अपने मैक पर XCode टूल्स स्थापित हैं, तो आप इसके साथ आने वाले ओटूल का उपयोग कर सकते हैं । मेरा मानना ​​है कि यह बहुत objdumpसक्षम है जो करने में सक्षम है।


14
ओटोल के लिए +1 - otool -tV <executable>जुदा करने के लिए उपयोग
पॉल आर

1
dwarftoolकुछ इसी तरह की कार्यक्षमता भी प्रदान करता है।
माइक वेलर

3
क्या otool में objdump -S जैसा विकल्प है, जो स्रोत कोड के साथ असेंबली आउटपुट एनोटेट देता है? वास्तव में --help आउटपुट से पता नहीं लगा सका।
rgngl

1
-bash: dwarftool: command not found
इगोरगानापोलस्की

8

आपकी फ़ाइल 64bits है, तो आप का उपयोग करना चाहिए otool बजाय gobjdump से binutils । मैक OSX पर, gobjdump 32bit के लिए है।


2
2017 तक, गोबजंप 2।27 (मुझे लगता है कि मुझे यह होमब्रे से मिला है?) MacOS सिएरा (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

आपको उपयोग करना चाहिए otoolक्योंकि objdumpलिनक्स और अधिकांश अन्य यूनिक्स प्रणालियों पर ईएलएफ बाइनरी प्रारूप के लिए एक बिनुटिल उपकरण है। otoolMacOS के माच-ओ बाइनरी प्रारूप के लिए डिस्सेम्बलर है। $ man otoolउपयोग के लिए निर्देश टाइप करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.