2013-01-01 31 views
7

हर बार जब मैं अपने ओएस एक्स 10.8 नोटबुक पर valgrind चलाने का प्रयास, मैं मिलता है:valgrind ओएस एक्स पर काम नहीं कर 10.8

bad executable (no stack) 
valgrind: ./a.out: cannot execute binary file 

क्या समस्या है? मैं इसे कैसे ठीक करूं? सब कुछ लिनक्स पर ठीक काम करता है, इसलिए ऐसा नहीं है कि मैं किसी भी तरह valgrind का दुरुपयोग कर रहा हूं। मैं जिस सटीक रेखा का उपयोग कर रहा हूं वह valgrind --tool=memcheck --leak-check=full ./a.out है।

उत्तर

8

मैं एक ही त्रुटि हो रही थी, लेकिन मैं सिर्फ 3.8.1 को valgrind उन्नत बनाया (brew upgrade valgrind मेरे लिए homebrew का उपयोग कर), और यह, काम करता है, हालांकि वेलग्रिंड चल निम्न चेतावनी प्रिंट:

WARNING: Support on MacOS 10.8 is experimental and mostly broken. 
WARNING: Expect incorrect results, assertions and crashes. 
WARNING: In particular, Memcheck on 32-bit programs will fail to 
WARNING: detect any errors associated with heap-allocated data. 
+1

धन्यवाद, इस समस्या का समाधान। जाहिर है, मैं नवीनतम संस्करण का उपयोग कर रहा था, लेकिन एसवीएन से पैकेज का उपयोग कर रहा था, जो किसी भी तरह से काम नहीं करता था। एक 'ब्रू हटाने वाल्ग्रिंड करना; ब्रू इंस्टॉल वाल्ग्रिंड 'अंततः '3.8.1' स्थापित किया गया। – houbysoft

+0

मेरे मामले में यह शेर से माउंटेन शेर के उन्नयन के कारण था। यदि आपके पास पहले से नवीनतम संस्करण है तो खुद को अपडेट करना काम नहीं कर सकता है। पुनर्मूल्यांकन को मजबूर करने के लिए, @ houbysoft के चरणों का पालन करें (टिप्पणी के ऊपर)। –

3

मैं का उपयोग कर इस समस्या थी मैकपोर्ट के साथ valgrind। यह पता चला मैं

sudo port install valgrind +universal 

मैं एक 32 बिट निष्पादन योग्य valgrind करने की कोशिश कर रहा था के साथ स्थापित करने के लिए की जरूरत है और मुझे विश्वास है कि + सार्वभौमिक के बिना, 32 बिट समर्थन में संकलित नहीं किया जा रहा था।