c++ - GDB doesn't work with -D_FILE_OFFSET_BITS=64 -
मैं हिम तेंदुए पर एक i386 C ++ एप्लिकेशन संकलित कर रहा हूं।
जब मैं- D_FILE_OFFSET_BITS = 64 मैं gdb के साथ बाइनरी का उपयोग नहीं कर सकता मुझे निम्न त्रुटि संदेश मिलता है:
चेतावनी: ऑब्जेक्ट फ़ाइल "/var/folders/kw/kwmH332LGwCIh3GrRgck+++TI/-Tmp-//ccZfMAM5.o" नहीं मिल सका - कोई डीबग जानकारी उपलब्ध नहीं है "Test.cpp"।
इस के पास -D_FILE_OFFSET_BITS = 64
।
जब आप मैक ओएस पर संकलित करते हैं, तो डीबग की जानकारी निष्पादन योग्य नहीं होती है, लेकिन ऑब्जेक्ट फाइल में रहता है, और डिबगर इसके लिए वहां दिखता है।
आपकी चेतावनी संदेश से ऐसा प्रतीत होता है कि आपने किया था:
जी ++ -D_FILE_OFFSET_BITS = 64-जी test.cpp
यह एक अस्थायी बनाता है ऑब्जेक्ट फ़ाइल (जैसे ccZfMAM5.o
नाम के साथ), निष्पादन योग्य में उस ऑब्जेक्ट फ़ाइल को लिंक करता है, और फिर ऑब्जेक्ट फ़ाइल हटाता है चूंकि डिबगर डीबग जानकारी को वर्तमान ऑब्जेक्ट फाइल से नहीं पढ़ सकता है, इसलिए आपको चेतावनी मिलती है।
इसके बजाय, इसे करें:
g ++ -g -c -D_FILE_OFFSET_BITS = 64 test.cpp g ++ -g test.o
यह test.o
ऑब्जेक्ट फ़ाइल (और उसमें निहित डीबग जानकारी) को डीबगर के लिए उपलब्ध कराएगा।
Comments
Post a Comment