2010-03-23 6 views
14

मैं दृश्य स्टूडियो में एक टी -4 टेम्पलेट के निष्पादन डिबग करने के लिए कोशिश कर रहा हूँ 2008एक टी -4 टेम्पलेट में एक ब्रेकपाइंट स्थापना

सभी जानकारी मैं विजुअल स्टूडियो 2008 में टी -4 टेम्पलेट्स डिबगिंग पर खोजने कर रहा हूँ कहना है कि आप टेम्पलेट में ब्रेकपॉइंट (लाल बिंदु) सेट कर सकते हैं जैसे कि यह एक नियमित कोड फ़ाइल थी। मेरे पास क्लारायस टी 4 कोड हाइलाइटर स्थापित है, इसलिए मेरा टी 4 टेम्पलेट रंगीन है, लेकिन मैं ब्रेकपॉइंट सेट नहीं कर सकता। जब मैं मार्जिन में क्लिक करता हूं तो कुछ भी नहीं होता है।

मैंने डीबगर की कोशिश की है। ब्रेक(), और यह वीएस.NET का एक नया उदाहरण लॉन्च करता है, लेकिन यह मेरे टेम्पलेट से कोड लोड नहीं कर सकता है। मुझे एक संवाद मिलता है जो कहता है "वर्तमान स्थान के लिए कोई स्रोत कोड उपलब्ध नहीं है।" ऐसा तब होता है जब मेरे पास एक अन्य प्रोजेक्ट में लोड किया गया हो, यदि मैं एक नया उदाहरण स्पिन करता हूं।

क्या देता है?

+1

वाह, स्काईनेट अब टी 4 मॉडल तक है? – DVK

+0

मेरे पास वीएस -2008 के साथ समान व्यवहार है; मैं .tt फ़ाइल में ब्रेकपॉइंट सेट करने में सक्षम नहीं हूं।(मेरे पास क्लारायस हाइलाइटर भी स्थापित है, लेकिन मुझे नहीं लगता कि यह ब्रेकपॉइंट मुद्दे से संबंधित है)। हालांकि, मैं .tt फ़ाइल में VS2010 में ब्रेकपॉइंट्स सेट कर सकता हूं। आपके लिए उपयोगी नहीं है, लेकिन शायद किसी के लिए ब्याज की। –

+0

@ मार्क: धन्यवाद, यह जानना अच्छा है! –

उत्तर

8

ठीक- इसे समझ लिया। एक नया उदाहरण लॉन्च करना एक विकल्प नहीं है, भले ही Oleg's article कहता है। (श्री Sych करने के लिए कोई diss, अपने ब्लॉग टी -4 कोड पीढ़ी के लिए सुसमाचार है!)

  1. दृश्य स्टूडियो के एक दूसरे इंस्टेंस प्रारंभ करें,
  2. खुला एक फ़ाइल (किसी भी फाइल) तो डीबग मेनू दिखाई देता है।
  3. का चयन करें "प्रक्रिया के लिए अनुलग्न ..." और अन्य VS.NET उदाहरण
  4. चयन VS.NET के संलग्न उदाहरण में अपने टेम्पलेट को सहेजें (या राइट क्लिक करें और चयन भागो कस्टम उपकरण)

वोला।

+0

आप "टूल्स" मेनू से प्रक्रिया करने के लिए भी संलग्न कर सकते हैं। –

+0

ऐसा लगता है कि यह मेरे लिए आंशिक रूप से काम करता है। मैं अभी भी वीएस के डीबगिंग इंस्टेंस में "नो सोर्स कोड उपलब्ध" देख रहा हूं। मैं स्रोत कोड कैसे प्राप्त करूं? –

4

सुनिश्चित करें कि आप टेम्पलेट निर्देश में डिबग विकल्प को चालू करें:

< # @ टेम्पलेट language = "सी #" डिबग = "true" #>

यह बनाता है टी -4 स्रोत कोड बचाने के लिए और विजुअल स्टूडियो में डिबगिंग के लिए आवश्यक प्रतीक फ़ाइलें।

+0

आदमी खुद! धन्यवाद- स्पष्ट रूप से लाल-बिंदु ब्रेकपॉइंट बस VS2008 में काम नहीं करता है लेकिन काम को बहुत अच्छा लगाता है। –

23

सेट निम्नलिखित:

<#@ template debug="true" hostSpecific="true" #> 
<#@ import namespace="System.Diagnostics" #> 

फिर अपने टेम्पलेट में

Debugger.Launch(); 

वी.एस. VS 2010

+0

सही काम किया ... डीबगिंग के लिए दूसरा वीएस लॉन्च किया; टेम्पलेट के माध्यम से और असेंबली-लोड किए गए किसी भी डीबग कोड में कदम। अच्छा! –

10

का एक नया उदाहरण में JIT डिबगर शुरू होगा विजुअल स्टूडियो 2013 में:

  1. ब्रेकपॉइंट सेट करें I n .tt फ़ाइल
  2. राइट-क्लिक करें समाधान एक्सप्लोरर
  3. का चयन करें "डीबग टी -4 खाका"
  4. हो गया में .tt फ़ाइल!

विजुअल स्टूडियो के दूसरे उदाहरण को जोड़ने की आवश्यकता नहीं है।