2012-10-04 44 views
5

के लिए एचएलएसएल डीबगिंग मैं वर्तमान में SharpDX (प्रबंधित सी # डायरेक्टएक्स रैपर) का उपयोग कर विंडोज 8 आवेदक बनाने की प्रक्रिया में हूं। हालांकि मैंने अपने शेडरों में से एक के साथ समस्याओं में भाग लिया है और मैं जानना चाहता हूं कि इस तरह के अनुप्रयोगों को डीबग करना संभव है या नहीं। PIX DirectX ऐप्स का काम नहीं प्रतीत होता है क्योंकि निष्पादन योग्य सीधे खोलना पसंद नहीं करता है, और VS2012 में नया दृश्य स्टूडियो ग्राफिक्स डिबगिंग टूलकिट हमेशा "प्रयोग शुरू करने में असमर्थ" कहता है जब मैं अपने सत्र के बारे में कोई जानकारी कैप्चर करने का प्रयास करता हूं।विंडोज 8 अनुप्रयोग

धन्यवाद!

+0

क्या आप "विंडोज 8 एप्लिकेशन" से क्या मतलब समझ सकते हैं? क्या यह स्टार्ट स्क्रीन के लिए एक विंडोज 8 स्टाइल ऐप है, या एक नियमित डेस्कटॉप एप्लिकेशन जो विंडोज 8 पर होता है? आईआईआरसी, डीएक्सएसडीके पिक्सविन को डीएक्सएसडीके हेडर और libs के साथ चीजों को बनाने की आवश्यकता है, जबकि वीएसपीईक्स (आईडीई में ग्राफिक्स डिबगिंग) के लिए विंडोज 8 किट हेडर और libs के उपयोग की आवश्यकता है। –

+0

क्षमा करें मेरा मतलब है कि स्टार्ट स्क्रीन के लिए विंडोज 8 स्टाइल ऐप, विंडोज 8 किट हेडर क्या हैं? क्या आपका मतलब सिर्फ विंडोज नेमस्पेस में सामान है (यानी विंडोज का उपयोग करना;)? यदि ऐसा है तो मैं पहले से ही उन्हें शामिल किया है। – Shervanator

उत्तर

0

डायरेक्टएक्स विजुअल स्टूडियो डीबगर केवल देशी कोड के साथ काम करता है। आपको तब तक त्रुटि मिलेगी जब तक आप प्रोजेक्ट पर राइट-क्लिक नहीं करते हैं, "गुण" का चयन करें, डिबगिंग टैब पर जाएं, और मूल डिबगिंग सक्षम करें।

जबकि यह त्रुटि को हटा देगा, यह समस्या को हल कर सकता है या नहीं। मुझे एक प्रबंधित घटक में होस्ट किए जा रहे SurfaceImageSource (C++) का उपयोग कर एक समान परिदृश्य मिला है और एक C++ प्रोजेक्ट में DirectXPage है। दोनों परियोजनाओं में ऐसा प्रतीत होता है कि डायरेक्टएक्स डीबगिंग फ़्रेम को कैप्चर करने में विफल रहा है। ऐसा लगता है कि यह सुविधा केवल उन प्रोग्रामों के लिए काम करती है जो डायरेक्टएक्स यूआई (कोई प्रबंधित UI घटक नहीं) का उपयोग कर रहे हैं।

2

मैं इस पोस्ट में थोड़ी देर के लिए आ रहा हूं, लेकिन मैं इस थ्रेड में भविष्य के आगंतुकों के लिए जोड़ना चाहता हूं कि मैंने स्लिम डीएक्स दोनों में विजुअल स्टूडियो 2012 ग्राफिक्स डायग्नोस्टिक्स ('डायरेक्टएक्स डीबगर') का सफलतापूर्वक उपयोग किया है और SharpDX परियोजनाओं। ऐसी कुछ चीजें हैं जो प्रक्रिया को बाधित कर सकती हैं, विशेष रूप से स्लिम डीएक्स परियोजनाओं में मैं मिश्रित डीएक्स 10/11 के साथ ऐप्स डीबग नहीं कर सका, डीएक्स 10 कम से कम प्रबंधित कोड के लिए वीएस2012 के साथ काम नहीं कर रहा है। इसलिए यदि आपके पास उदाहरण के लिए कोई टेक्स्ट प्रतिपादन है, तो आपको इसे डिबगिंग सत्र के लिए हटा देना होगा। मैं अलग करने के लिए निम्नलिखित का उपयोग कर कहेंगे अपने DX10 कोड काम करना चाहिए

#define DXDIAGSESSION 
    // ... 
#if DXDIAGSESSION 
    // your DX10 code goes here. 
#endif 

और SharpDX परियोजना के लिए (सी #/WinRT/XAML/SharpDX) मैं प्रबंधित केवल डीबगर का उपयोग नहीं कर सका। मुझे इसे काम करने के लिए डिबगर को मिश्रित (प्रबंधित और मूल) पर सेट करना पड़ा।

+0

दिलचस्प, मेरे लिए ग्राफिक्स डीबगर मूल डीबगर अक्षम के साथ SharpDX प्रोजेक्ट में ठीक काम कर रहा है। –