2010-12-04 11 views
6

से कॉल किए जाने पर मूल कोड डिबग करना मैंने सी # एप्लिकेशन लिखा है, जहां सी ++ बैक-एंड में अधिकांश काम किया जाता है। अब मैं सक्रिय रूप से दोनों पक्षों को विकसित कर रहा हूं, और बैक एंड के वर्तमान पुनरावृत्ति एक विशिष्ट कार्य में एक प्रवेश उल्लंघन फेंकता है। मैं इसे कैसे जा सकता हूं और डीबग कर सकता हूं? वीएस मूल कोड में अपवाद या ब्रेकपॉइंट्स को तोड़ नहीं देगा, न ही देशी कोड के कॉल स्टैक या स्थानीय लोगों को दिखाएगा, भले ही दोनों परियोजनाएं एक ही समाधान में बनाई गई हों। मैं बदले में वापस जाने और लॉगिंग स्टेटमेंट के साथ अपने सभी देशी कोड कूड़े जाने से बचाना चाहता हूं।प्रबंधित

+0

कौन सा ओएस और वीएस संस्करण? वीएस -2008 और इससे पहले 64-बिट मोड में मिश्रित-मोड डिबगिंग का समर्थन नहीं करते हैं। –

+1

@ स्टेव: .NET 4.0 का अर्थ है वीएस 2010 – Vlad

उत्तर

10

वीएस मूल कोड डीबग करेगा, अगर आप मिश्रित मोड डिबगिंग (और अपनी परियोजना को पुन: संकलित) पर स्विच करते हैं। दृश्य स्टूडियोका उपयोग http://msdn.microsoft.com/en-us/library/kbaht4dh.aspx

+3

इसकी पुष्टि कर सकते हैं। यह परिमाण के क्रम से डीबग किए गए ऐप को धीमा कर देगा, इसलिए आप इसे नियमित रूप से चालू और बंद कर देंगे। –

+0

क्या आप समझा सकते हैं कि यह मेरे तैनात आवेदन पर काम करता है। क्योंकि दुर्भाग्यवश मेरे खिड़कियों का फॉर्म क्रैश हो गया है जबकि फॉर्म बंद है। मैं अपनी परियोजना में एक सी ++ डीएलएल फ़ाइल का उपयोग कर रहा हूँ –

1

आप अपने चल रहे सी # आवेदन करने के लिए अपनी मूल सी ++ परियोजना से डिबगर संलग्न कर सकते हैं:

माइक्रोसॉफ्ट के स्पष्टीकरण देखें।

डिबगर संलग्न है और चल अपने सी # आवेदन

  1. अपनी मूल सी खोलें ++ बनाम में परियोजना से पहले
  2. सुनिश्चित करें कि आप डीबग मोड में कॉन्फ़िगर किए गए हैं। फिर अपने मूल सी ++ कोड का पुनर्निर्माण करें।

  3. ब्रेकपॉइंट जोड़ें जहां आप तोड़ना चाहते हैं और कोड के माध्यम से कदम उठाना शुरू करें। सुनिश्चित करें कि आपने अपने ब्रेकपॉइंट्स को कोड में रखा है, जिसमें सी # एप्लिकेशन कॉल करता है।

  4. यदि आपका सी # आवेदन अपने समाधान, अपनी परियोजनाओं में डीबग नोड के अंतर्गत की परियोजना गुण पेज जांच 'मूल कोड डीबगिंग सक्षम' है, तो पुनर्निर्माण पूरे समाधान सुनिश्चित करें शुरू है।

    अन्यथा आपको नए संकलित डीएलएल संदर्भित सी # एप्लिकेशन को पुनर्निर्माण करने की आवश्यकता होगी। एप्लिकेशन चलाएं और सी #+ परियोजना के वीएस डीबगर को सी # अनुप्रयोग में संलग्न करें।
    ऐसा करने के लिए डीबग टैब पर जाएं -> प्रक्रिया से संलग्न करें -> सी # एप्लिकेशन का चयन करें।

संबंधित मुद्दे