2013-07-26 4 views
5

से प्रबंधित घटक को डिबग करना मेरे पास एक Win32 EXE है जो VC++ में लिखा गया है। मेरे पास सी # में कार्यान्वयन लिखा गया है। मुझे VC++ EXE को सी # डीएलएल का उपभोग करने के रूप में यहां बताया गया है: http://support.microsoft.com/kb/828736। अच्छा काम करता है, लेकिन मुझे डीबग करने में सक्षम होना चाहिए। दोनों परियोजनाओं को एक ही लोड किया जाता है। एसएलएन, लेकिन सी # में ब्रेकपॉइंट्स कभी हिट नहीं होते हैं। क्या वीएस2012 में इसे डीबग करने का कोई तरीका है?सी ++ Win32

उत्तर

9

आह, यह पता चला है कि यदि आप धक्का देने के लिए सही बटन जानते हैं तो यह आसान है। सी ++ प्रोजेक्ट गुणों पर, कॉन्फ़िगरेशन गुण -> डिबगिंग -> डीबगर प्रकार = "मिश्रित"।

+2

टोड। आपने मेरा जीवन बचा लिया है – Sherlock

0

सी ++ परियोजना से सी # डीएल में एक परियोजना संदर्भ जोड़ने का प्रयास करें। यदि आप पहले ही ऐसा कर चुके हैं, तो कृपया समाधान को साफ करें और बनाएं। इससे समस्या हल हो जानी चाहिए।

+0

मैंने सी # घटक के तुरंत बाद ब्रेकपॉइंट सेट किया। मॉड्यूल विंडो को देखते हुए, मुझे लगता है कि डीएलएल चिह्नित है "मॉड्यूल डिफ़ॉल्ट लोड पते पर लोड नहीं हुआ" और "एनजेन बाइनरी के लिए छोड़े गए लोडिंग प्रतीकों"। सिंबल लोड जानकारी पर क्लिक करने से यह मिलता है: "यह मॉड्यूल ngen.exe उपकरण द्वारा बनाई गई एक पूर्व-संकलित बाइनरी है। डीबगर इन बाइनरी के लिए प्रतीकों को लोड करने का प्रयास नहीं करता है, लेकिन इसके बजाय मूल डीएल/एक्सई के लिए प्रतीकों को लोड करेगा .NET रनटाइम द्वारा लोड किया गया। " लोड सिंबल पर क्लिक करने से मुझे पीडीबी (जो इसे पहले से ही पता है) पर ब्राउज़ करने देता है, लेकिन मदद नहीं करता है। –