मुझे डेल्फी 6 डायरेक्टशो डीएलएल में नहीं होने वाले ब्रेकपॉइंट्स के साथ एक बड़ी समस्या थी। मैं आईडीई में डीएलएल (एएक्स) लोड करूंगा और इसे ग्राफ एडिट के साथ होस्ट प्रोग्राम के रूप में चलाऊंगा और ब्रेकपॉइंट्स में से कोई भी ट्रिगर नहीं करेगा। मैंने फास्टएमएम 4 डीएलएल को प्रोजेक्ट डायरेक्टरी में ले जाने की कोशिश की, फास्टएमएम 4 को पूरी तरह हटा दिया, डीबग डीसीयू चालू और बंद कर दिया, प्रोजेक्ट निर्देशिकाओं को साफ किया, डीएलएल को पंजीकरण और पुन: पंजीकृत कर दिया, जो कुछ भी मैं सोच सकता था। कुछ भी काम नहीं किया। हर बार जब मैंने मेजबान कार्यक्रम चलाया तो मैंने घटना दर्शक में "डीबग जानकारी" संदेश के साथ अपना डीएलएल लोड देखा। फिर एक हताश गूगल खोज में मुझे लगता है कि "दूरस्थ डिबग प्रतीकों" लिंकर विकल्प की कोशिश कर की सिफारिश की सी ++ बिल्डर के लिए एक पोस्ट पाया: -> विकल्प -> लिंकर (टैब) -डीएलएल ब्रेकपॉइंट्स को "रिमोट डीबग प्रतीकों" विकल्प के साथ नहीं मारा जा रहा है, क्यों और कोई सुरक्षा उन लोगों के साथ जोखिम रखती है?
परियोजना> Exe और DLL विकल्प (समूह बॉक्स) -> "दूरस्थ डीबग चिह्न शामिल करें" (यह जाँच)
अचानक मेरी breakpoints मारा जा रहा शुरू कर दिया। यहां मेरे प्रश्न हैं:
1) यह क्यों काम किया? क्या यह विकल्प के कारण है या क्योंकि इस विकल्प ने कुछ अन्य कंपाइलर/लिंकर ऑपरेशन को ट्रिगर किया है जो निश्चित चीजें हैं? मैं जानना चाहता हूं कि जब मैं फिर से होता हूं तो भविष्य में मैं इस समस्या को विश्वसनीय रूप से ठीक कर सकता हूं।
2) रिमोट डीबग प्रतीक कुछ शत्रु प्रोग्रामर मेरे प्रोग्राम को गहरे ट्रेस करने के लिए उपयोग कर सकते हैं? दूसरे शब्दों में, क्या वे चारों ओर झूठ बोलने पर सुरक्षा जोखिम हैं?
संघर्ष न करें, स्रोत कोड प्रकाशित करें। – OnTheFly
डेल्फी का क्या संस्करण? डीएलएल डीबग करने में पुराने डेल्फी इतने अच्छे नहीं हैं। मुझे कभी-कभी मेजबान exe को DLL के समान फ़ोल्डर में रखना आवश्यक होता है। यह निश्चित रूप से मानक डीबग विकल्पों के साथ डीएलएल संकलित पर्याप्त होना चाहिए। रिमोट प्रतीकों की कोई ज़रूरत नहीं है। –
@ डेविड हेफरन। डेल्फी 6. –