2012-01-31 10 views
10

में अप्रबंधित सी ++ छवियों को डिबग करना मैं विजुअल स्टूडियो 2010 के तहत अप्रबंधित सी ++ पर शामिल कई अलग-अलग छवियों के साथ बहुत से छवि प्रसंस्करण कोड लिखता हूं। मैं उन्हें सरल पहचानकर्ता के रूप में लगभग आसानी से देखने में सक्षम होना चाहता हूं -ब-चरण डीबगिंग।विजुअल स्टूडियो

मेरा वर्तमान समाधान कुछ फ़ंक्शन का उपयोग करना है जो मैटलैब कंसोल में छवि निर्यात करता है। यह ठीक है, लेकिन स्रोत कोड में संशोधन की आवश्यकता है, जबकि मैं इसे डिबगिंग करते समय करना चाहता हूं। इसलिए माउस द्वारा वैरिएबल युक्त होवरिंग करते समय सबसे अच्छा विकल्प बस पॉप अप हो रहा है। लेकिन कमांड विंडो में कुछ कमांड ExportToMatlab(image) लिखना पर्याप्त है। मुझे नहीं पता कि यह कैसे करना है, हालांकि।

बहुत ही समान प्रश्न "Debugging image rendering in Visual C++, any helpful add-ins?" है, लेकिन यह बहुत पुराना है और मुझे उस चर्चा में कोई स्वीकार्य उत्तर नहीं मिला। कुछ उपकरण .NET- आधारित हैं (नीचे छवि देखें), कुछ को अतिरिक्त कोड लिखने की आवश्यकता है (यही वह है जो मैं वर्तमान में उपयोग कर रहा हूं), और कुछ परियोजनाएं जमे हुए या अधूरे हैं।

Screenshot from DebuggerVisualizer

मैं, उचित समाधान को लागू करने पर कुछ समय खर्च कर सकते हैं तो कैसे वी.एस. में डिबगर विजुआलाइज़र अनुकूलित करने के लिए पर कुछ अच्छी मार्गदर्शिकाओं के लिंक भी स्वागत है।

अद्यतन

मैं Expression Evaluator Add-In के आधार पर एक दृश्य स्टूडियो एक्सटेंशन बना लिया है। यह अपने SourceForge प्रोजेक्ट पेज से डाउनलोड करने के लिए उपलब्ध है, जिसे NativeViewer कहा जाता है। इसका उपयोग कैसे करें इसके विवरण के लिए जांचें।

+0

देशी डिबगर visualizers प्रबंधित कोड में उपलब्ध के लिए इसी तरह कुछ भी समर्थन नहीं करता। कोर लापता सुविधा एक ब्रेकपॉइंट सक्रिय होने पर मनमाने ढंग से कोड को दूसरे थ्रेड पर चल रहा है। –

+0

और तत्काल विंडो के माध्यम से आंतरिक प्रोग्राम स्थिति तक पहुंचने के बारे में क्या? क्या मैं इस उद्देश्य के लिए कुछ मैक्रो चला सकता हूं? – Mikhail

उत्तर

3

बस इतिहास के लिए: मैंने अपना खुद का समाधान Expression Evaluator Add-In पर आधारित किया है। यह काफी अच्छी तरह फिट नहीं है, लेकिन मैं जो कुछ भी चाहता था उसे लागू करने में सक्षम था।

अद्यतन

मैं सार्वजनिक रूप से उपलब्ध दृश्य स्टूडियो एक्सटेंशन बना लिया है। यह अपने स्रोतफोर्ज प्रोजेक्ट पेज से डाउनलोड करने के लिए उपलब्ध है, जिसे NativeViewer कहा जाता है। इसका उपयोग कैसे करें इसके विवरण के लिए जांचें।

+1

आपका परिणाम सार्वजनिक रूप से उपलब्ध है? – 0xC0000022L

+0

@ 0xC0000022L उल्लेख किया गया समाधान बहुत विशिष्ट है और सार्वजनिक रूप से साझा नहीं किया जाता है। मैं वर्तमान में ओपनसीवी छवियों को प्रदर्शित करने के लिए वीएस के लिए अधिक सुविधाजनक विस्तार पर काम कर रहा हूं (अन्य प्रारूपों के अनुकूल होने के लिए इतना कठिन नहीं होगा)। यह http://sourceforge.net/projects/nativeviewer/ पर उपलब्ध है। हालांकि, यह अभी तक उपयोग के लिए तैयार नहीं है। – Mikhail

+0

उत्तर के लिए धन्यवाद। – 0xC0000022L

4

मैं वास्तव में विश्वास नहीं कर सकता कि किसी ने भी Image Watch का सुझाव नहीं दिया है। यह अब तक का सबसे अद्भुत ऐड-इन है। यह आपको अपने सभी मैट वेरिएबल्स (छवियों (ग्रे और रंग), मैट्रिक्स के साथ एक दृश्य दिखाता है, जबकि डीबगिंग करते समय, ज़ूमिंग या कंट्रास्ट-खींचने जैसी उपयोगी चीजें होती हैं और आप रीयल-टाइम में सीधे प्लगइन में अधिक जटिल फ़ंक्शंस भी लागू कर सकते हैं। यह किसी भी तरह के छवि संचालन की हवा को डिबगिंग करता है और यदि आप अपने सीवी :: मैट मैट्रिस के साथ गणना और रैखिक बीजगणित सामग्री करते हैं तो यह बेहद सहायक होता है।

enter image description here

+0

जब सवाल पूछा गया था, तब तक कोई छवि घड़ी नहीं थी :) वर्तमान में मैं पहले से ही इसका उपयोग कर रहा हूं। लेकिन आपका उत्तर दूसरों के लिए सहायक हो सकता है, खोज इंजन से आया है, इसलिए +1 – Mikhail

+0

हाँ, यह वास्तव में सच है। ऐसा लगता है कि मैं इसे उम्र के लिए उपयोग कर रहा हूं :-) – Ela782

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