2012-02-21 22 views
12

मैं याद कर सकते हैं कि मैं एक विधि की वापसी मान देख सकते हैं जब मैं डिबग विजुअल स्टूडियो 6.0 में एक सी ++ कोड। अब मैं विजुअल स्टूडियो 2010 में सी # पर उस सुविधा को याद कर रहा हूं।
मैं वापसी मूल्य कहां देख सकता हूं या इसे दिखाने का कोई कारण नहीं है?
डीबग वापसी मान

Edit1: एक उदाहरण:

string GetFullName() 
{ 
    return GetFirstName() + " " + GetLastName(); 
} 

मैं पंक्ति से (डिबगर) कदम वापसी अगली पंक्ति में शुरुआत के साथ जब मैं एक डिबग चर विंडो में पूरा नाम देखना चाहेंगे।

+1

आप घड़ी विंडो में विधि कॉल और वहाँ अपनी वापसी मान देख सकते हैं। क्या तुम्हारे कहने का मतलब यही था? –

+0

@ + नहीं सी ++ में मैं एक विधि से बाहर निकल सकता हूं और वापसी मूल्य स्वचालित रूप से डीबग चर विंडो में सूचीबद्ध किया गया था। – brgerner

+0

ओह, इस तरह के मामले में मुझे डर है कि यह अभी लागू नहीं हुआ है। –

उत्तर

8

यह दृश्य स्टूडियो 2013 में जोड़ा गया है:

वापसी मूल्य "ऑटोस विंडोज" (डीबग-> विंडोज-> ऑटो) में प्रदर्शित होते हैं और आप अंतिम फ़ंक्शन की वापसी लाने के लिए वॉच और/या तत्काल विंडो में छद्म चर "$ ReturnValue" का भी उपयोग कर सकते हैं मूल्य।

http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/27/seeing-function-return-values-in-the-debugger-in-visual-studio-2013.aspx

+0

क्या आप अपने उत्तर में समाधानों का वर्णन करना चाहते हैं? यह एसओ से बाहर निकलने से बच जाएगा और लिंक मरने पर यह एक स्थिर प्रतिलिपि देगा। – SandRock

+0

आप '$ अपवाद' चर का उपयोग करके अपवादों के लिए भी ऐसा ही कर सकते हैं। जैसे कि वे नामकरण और मामले में लगातार कैसे हैं। अच्छा काम। – Will

3

इस देखें: https://connect.microsoft.com/VisualStudio/feedback/details/555859/see-return-value-in-managed-code (और आप इसे वोट दें सकते हैं)

इसके अलावा वहाँ एक पुरुष जो वी.एस. कि समर्थन करने के लिए के लिए एक प्लगइन विकसित से एक टिप्पणी है।

अद्यतन। उस प्लगइन का प्रयास किया। अब के लिए अच्छा लग रहा है।

+0

धन्यवाद। मैं प्लग-इन आज़माउंगा। – brgerner

+0

मैंने बगएड प्लग-इन की कोशिश की और यह काम करता है। रिटर्न व्यू सुविधा का उपयोग करने के लिए आपको इसे पूर्ण मोड में सेट करने की आवश्यकता है। यह एक बीटा है और रिलीज केवल ओपन सोर्स प्रोजेक्ट्स और एमवीपी के लिए मुफ्त है। – brgerner

+0

मैंने अभी बिगएड होमपेज (http://www.bugaidsoftware.com/purchase/) पर पढ़ा है कि कॉमर्शियल लाइसेंस मुफ्त में नहीं है हालांकि यह केवल बीटा है। तो मुझे इसे हटाना होगा क्योंकि मुझे कॉमर्सियल उपयोगकर्ताओं के लिए परीक्षण संस्करण में कोई इशारा नहीं मिल रहा है। – brgerner

1

आप नहीं देख सकते हैं वापसी मान समान संबंधित सवाल

Can I find out the return value before returning while debugging in Visual Studio

देख आप स्ट्रिंग चर में परिणाम स्टोर कर सकते हैं तो यह डीबग विंडो में सूची जाएगा।

enter image description here

class Program 
    { 
     static void Main(string[] args) 
     { 
      Program p = new Program(); 
      Console.WriteLine(p.GetFullName()); 
      Console.ReadLine(); 
     } 

     string GetFullName() 
     { 
      string result =GetFirstName() + " " + GetLastName(); 
      return result; 
     } 

     string GetFirstName() 
     { 
      string firstname = "vishwanath"; 
      return firstname; 
     } 

     string GetLastName() 
     { 
      string lastname = "Dalvi"; 
      return lastname; 
     } 
    } 
+0

अतिरिक्त चर केवल उन विधियों के लिए एक विकल्प है जो अक्सर डीबग किए जाते हैं। – brgerner

+0

@brgerner हाँ सच है। –

+0

मुझे अभी तक इस पृष्ठ की * संबंधित * सूची में अभी तक एक और संबंधित प्रश्न मिला है: http://stackoverflow.com/questions/1704268/getting-a-methods-return-value-in-the-vs-debugger । ऐसा लगता है कि प्रश्न दर्ज करते समय SO खोज * संबंधित * सूची से बहुत अच्छी नहीं है। मुझे लगता है कि पूछे जाने वाले प्रश्न-खोज टैग फ़ील्ड की परवाह नहीं करते हैं। – brgerner

3

आप विधि के साथ वापसी कथन की लाइन पर एक ब्रेकपाइंट सेट कर सकते हैं। फिर ब्रेकपॉइंट पर राइट-क्लिक करें और 'जब हिट करें ...' चुनें। यहां आप एक संदेश प्रदर्शित करने या मैक्रो चलाने के लिए चुन सकते हैं। इसके लिए हम एक संदेश प्रिंट करेंगे जो आउटपुट विंडो में दिखाया जाएगा। ;, यह राइट क्लिक करें और चुनें 'जब हिट ...' और इस चयन

public double ReturnValue() 
{ 
    var x = 3; 
    var y = 4; 
    //x and y can of course be non-constant vars too 
    return Calculate(x, y); 
} 

public static double Calculate(int x, int y) 
{ 
    return x * x + y * y; 
} 

आप लाइन पर एक ब्रेकपाइंट सेट करते हैं "की गणना (एक्स, वाई) वापसी": उदाहरण के लिए आप कोड निम्नलिखित है अगर संदेश के रूप में:

मूल्य है: {गणना (एक्स, वाई)}

इस मामले में आउटपुट विंडो को प्रदर्शित करेगा:

मान है: 25.0

उम्मीद है कि इससे मदद मिलती है!

अद्यतन:

यह भी नाम के साथ अपने उदाहरण के लिए काम करता है, तरीके:

public string GetFirst() 
{ 
    return "Bill"; 
} 

public string GetLast() 
{ 
    return "Gates"; 
} 

public string GetFull() 
{ 
    return GetFirst() + " " + GetLast(); 
} 

प्लेस विधि GetFull() में वापसी कथन पर ब्रेकप्वाइंट और पहले की तरह ही करना ।संदेश शरीर अब इस तरह दिखता है:

पूरा नाम है: {GetFirst() + "" + GetLast()}

और आउटपुट विंडो दिखाएगा:

FULLNAME है: "बिल गेट्स"

+0

धन्यवाद। क्या यह समाधान वॉच विंडो में कॉल लिखने से बेहतर है? मुझे लगता है कि वॉच विंडो में कॉल दर्ज करना तेज है। – brgerner

+1

घड़ी के साथ समस्या यह है कि आपको ब्रेकपॉइंट रखना होगा और डीबगिंग के दौरान विधि का चयन करें और 'घड़ी जोड़ें' चुनें। आप विधि-कॉल पर राइट-क्लिक नहीं कर सकते हैं और 'घड़ी जोड़ें' चुन सकते हैं क्योंकि इससे घड़ी के मूल्य में कोई त्रुटि आती है। मेरे समाधान का 'सेटअप' थोड़ा सा समय लेता है लेकिन जब आपको डीबग करने पर कोई और चिंता नहीं होती है। मैंने बस एक विधि कॉल के वापसी मूल्य को तुरंत देखने के लिए एक समाधान दिया जैसा आपने पूछा ... :) – Abbas

+0

मुझे आपका अंक मिल गया, धन्यवाद! – brgerner

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