ভিজ্যুয়াল স্টুডিওতে ডিবাগ করার সময় আমি ফিরে আসার আগে ফেরতের মানটি জানতে পারি?


387

নিম্নলিখিত ফাংশন নিন:

DataTable go() {
    return someTableAdapter.getSomeData();
}

আমি যখন এই ফাংশনটিতে ব্রেকআপপয়েন্ট স্থাপন করি, তখন প্রত্যাবর্তিত মানটি পরীক্ষা করার কি কোনও সম্ভাবনা আছে? go()সরাসরি একটি .aspxপৃষ্ঠায় একটি ডেটাগ্রিডের সাথে মিলিত হয় ।

ফিরে আসা ডেটাটেবল পরিদর্শন করার একমাত্র উপায় হ'ল অস্থায়ী পরিবর্তনশীল able তবে এটি কিছুটা অসুবিধাজনক। অন্য কোন উপায় নেই?


1
আপনি যদি কল স্ট্যাকটি ব্যাক আপ করেন তবে আপনি একটি ঘড়ি যুক্ত করতে পারেন
ক্রিস এস

আপনি ভিবি 6 এ করতে সক্ষম হতেন, মনে আছে মনে আছে। তবে এরপরে ফাংশনগুলির মানটি ফেরতের মূল্যে সেট করার সাথে জড়িত ফাংশনগুলির সিনট্যাক্স ...
নীল বার্নওয়েল

5
ভিজ্যুয়াল সি ++ ব্যবহারকারীদের জন্য মন্তব্য: তাত্ক্ষণিক উইন্ডোতে বা ওয়াচ উইন্ডোতে $ রিটার্নভ্যালু টাইপ করুন। কমপক্ষে আমার ভিএস ২০১০-তে এটি কাজ করেছিল!
সার্জিওল

9
VS2015 এর জন্য $ রিটার্নভ্যালু 1 ব্যবহার করুন .. যদি আপনি নীচে 20 টি উত্তর এবং 100 টি মন্তব্য পড়তে চান না!
felickz

3
2019 এর সব কিছুর উত্তর? এই উত্তরগুলি অত্যন্ত তারিখযুক্ত।
dylanh724

উত্তর:


264

আমি যে জানি না। নোট করুন আপনি যদি না একটি পরিবর্তনশীল যোগ করুন, এটা রিলিজে কম্পাইলার দ্বারা সরানো হবে যাহাই হউক না কেন তৈরী করে ...

আপডেট: এই কার্যকারিতাটি ভিএস ২০১৩ এ যুক্ত করা হয়েছে । আপনি অটো উইন্ডোতে রিটার্ন মানগুলি দেখতে বা $ReturnValueঘড়ি / তাত্ক্ষণিক উইন্ডোতে ব্যবহার করতে পারেন ।

ফাংশন থেকে ফিরে আসার পরে মানটি সরাসরি দেখা যায়, সুতরাং এটি অ্যাক্সেসের সহজতম উপায় হ'ল ফাংশন কল এবং ব্রেক কল (এফ 10) কলটিতে একটি ব্রেকপয়েন্ট রেখে।


ভিএস ২০১৫ এর জন্য আপডেট: বু! দুর্ভাগ্যক্রমে, এটি VS2015 (devenv v14) VS2017 এর আপডেটে উপস্থিত হবে না
: এটি ফিরে এসেছে। (দেভেনভ ভি 15)


12
টেম্পটিকে ত্যাগ করার কারণটি হ'ল পাঠযোগ্যতা এবং শৈলী, দক্ষতা নয়, না?
অরিপ

8
ইন্টিলিট্রেসের সাথে ভিএস ২০১০ সাল থেকে এটি সম্ভব: ব্লগস.এমএসএনএন
ড্যানিয়েল হিলগারথ

2
Intellitrace সবেমাত্র ভিএস আলটিমেট সংস্করণে উপলব্ধ।
জেএমজিএইচ

3
@ মার্কগ্রাভেল আপনার উত্তরটি ভুল ! অবশ্যই, আপনার উত্তর এবং এমএসের ভিএস 13 এ বৈশিষ্ট্যটি প্রকাশের মধ্যে আমার ছয় বছর লেগেছিল, কিন্তু এখনও। আপনি শুধুমাত্র "যোগ করেছিলেন চান তাহলে সময়ের জন্য একটি দাবিত্যাগ হিসাবে" ... (না, আমি প্রতিবন্ধী আছি এটা। হয় , একটি তামাশা অবশ্যই তুমি দেবতুল্য, সহচর।।)
কনরাড Viltersten

6
VS2015- এর জন্য @ মার্কগ্রাভেল: $ রিটার্নভ্যালু 1 কাজ করে! (চূড়ান্ত সংস্করণে পরীক্ষিত)
জিওয়াই

58

এটি গ্রাহক প্রতিক্রিয়া সাইট অনুযায়ী সিএলআর 4.5.1 এর সাথে ভিজ্যুয়াল স্টুডিও 2013 এ করা যেতে পারে । এটি সি # এর পূর্ববর্তী সংস্করণগুলিতে উপলভ্য ছিল না।

(ভিজ্যুয়াল স্টুডিও ২০০৮ এবং এর আগে এটি ভিবি.এনইটি-র জন্য সমর্থন করেছিল It এটি সর্বদা সি / সি ++ বিকাশকারীদের জন্য উপলব্ধ)


1
আপনি ভিজুয়াল স্টুডিও 2010 সি ++ এ কীভাবে করেন?
ব্যবহারকারী

মাইক্রোসফ্ট কানেক্ট বলেছে যে পরিচালিত কোড নিয়ে একটি মৌলিক সমস্যা রয়েছে যা এটি নির্ভরযোগ্য উপায়ে প্রয়োগ করতে বাধা দেয়:
ড্যান সলোভে

@ ড্যানসোলোভে তারা যে শব্দগুলি ব্যবহার করেছেন তা হ'ল "আমরা ধারাবাহিকভাবে সঠিক কাজটি করতে পারিনি" (ভিএস 11 এর জন্য) তবে তারা "এটি ফিরিয়ে আনতে চায়" এবং "এই সমস্যার বেশ কয়েকটি সম্ভাব্য সমাধান খুঁজছেন" "
অ্যালেক্স আঙ্গাস

সংযোগ এন্ট্রি বাসি। বৈশিষ্ট্যটি মনে হচ্ছে ... পরিত্যক্ত: ((
সফটলিয়ন

1
ইন্টিলিট্রেসের সাথে ভিএস ২০১০ সাল থেকে এটি সম্ভব: ব্লগস.এমএসএনএন
ড্যানিয়েল হিলগারথ

25

আমি সম্মত হই যে এটি থাকা খুব দরকারী জিনিস: এটির বাইরে বেরোনোর ​​আগে কেবল পদ্ধতির রিটার্ন মানই নয়, আমি যে পদ্ধতিগুলি সরিয়েছিলাম তার রিটার্ন মানটিও দেখেছি। আমি এটি " ওজকোড " নামে ভিজ্যুয়াল স্টুডিওতে বাণিজ্যিক সম্প্রসারণের অংশ হিসাবে প্রয়োগ করেছি ।

এটির সাহায্যে আপনি কোড সম্পাদকে সঠিকভাবে এইচডিডি-ডিসপ্লে অনুসারে পদ্ধতিতে ফেরত মানগুলি দেখতে পারেন:

বিবৃতি ভিজ্যুয়ালাইজেশন

আরও তথ্যের জন্য, দয়া করে এই ভিডিওটি দেখুন


23

মাইক্রোসফ্টের মতে, পরিচালিত কোড সহ নির্ভরযোগ্যভাবে এটি প্রয়োগ করার কোনও উপায় নেই। এটি এমন একটি সমস্যা যা তারা সচেতন এবং কাজ করছে:

দেশি সি ++ বা ভিবি 6 কোডটির ডিবাগিংয়ের অভিজ্ঞতা রয়েছে এমন ব্যক্তিদের জন্য, আপনি অটোস উইন্ডোতে আপনার জন্য ফাংশন রিটার্ন মানগুলি সরবরাহ করে এমন একটি বৈশিষ্ট্য ব্যবহার করতে পারেন। দুর্ভাগ্যক্রমে, পরিচালিত কোডের জন্য এই কার্যকারিতাটি বিদ্যমান নেই। আপনি যখন স্থানীয় ভেরিয়েবলকে রিটার্ন মান নির্ধারণ করে এই সমস্যাটি নিয়ে কাজ করতে পারেন তবে এটি ততটা সুবিধাজনক নয় কারণ এর জন্য আপনার কোডটি পরিবর্তন করতে হবে requires পরিচালিত কোডে, কোনও ফাংশনের রিটার্নের মানটি আপনি কী পদক্ষেপ নিয়েছেন তা নির্ধারণ করার জন্য এটি অনেক জটিল। আমরা বুঝতে পেরেছি যে আমরা এখানে ধারাবাহিকভাবে সঠিক কাজটি করতে পারি না এবং তাই আপনাকে ডিবাগারে ভুল ফলাফল না দিয়ে আমরা বৈশিষ্ট্যটি সরিয়েছি। তবে আমরা এটি আপনার জন্য ফিরিয়ে আনতে চাই এবং আমাদের সিএলআর এবং ডিবাগার টিমগুলি এই সমস্যার বেশ কয়েকটি সম্ভাব্য সমাধানের দিকে তাকিয়ে আছে। দুর্ভাগ্যক্রমে এটি ভিজ্যুয়াল স্টুডিও 11 এর অংশ হবে না।

https://connect.microsoft.com/VisualStudio/feedback/details/597933/add-a-return-pseudo-variable-to-the-visual-studio-debugger-for-net-code


1
প্রতি উপরে @Alex ( stackoverflow.com/a/3714884/402949 ) এই CLR 4.5 সঙ্গে VS2013 জন্য উপলব্ধ
ড্যান Solovay

21

ভিজ্যুয়াল স্টুডিও 2015 সম্পর্কিত:

মার্ক গ্র্যাভেলের বর্তমানে গৃহীত উত্তর অনুসারে:

এই কার্যকারিতাটি ভিজ্যুয়াল স্টুডিও 2013 এ যুক্ত করা হয়েছে । আপনি অটো উইন্ডোতে রিটার্ন মানগুলি দেখতে বা ঘড়ির / তাত্ক্ষণিক উইন্ডোতে $ রিটার্নভ্যালু ব্যবহার করতে পারেন

এই উত্তরে আরও বলা হয়েছে যে এই কার্যকারিতা ভিজ্যুয়াল স্টুডিও 2015 তে কাজ করে না। এটি (সম্পূর্ণরূপে) সত্য নয়। উপর পদ্ধতি কল ফেরত মান পরীক্ষা সেখানে নীচের নোটটি হল:

আপনার অবশ্যই V রিটার্নভ্যালু স্বীকৃত হওয়ার জন্য (সরঞ্জাম / বিকল্প / ডিবাগিং / উত্তরাধিকার সি # এবং ভিবি এক্সপ্রেশন মূল্যায়নকারী ব্যবহার করুন ) এর জন্য উত্তরাধিকার প্রকাশের মূল্যায়নকারীদের চালু থাকতে হবে । অন্যথায়, আপনি $ রিটার্নভ্যালু 1 ব্যবহার করতে পারেন ।

আমি ভিজ্যুয়াল স্টুডিও 2015 এন্টারপ্রাইজে এটি পরীক্ষা করেছি:

  • লিগ্যাসি এক্সপ্রেশন মূল্যায়নকারীদের বন্ধ করে: কেবল $ রিটার্নভ্যালু 1 কাজ করে
  • লিগ্যাসি এক্সপ্রেশন মূল্যায়নকারীদের সাথে: দুটি $ রিটার্নভ্যালু এবং $ রিটার্নভ্যালু 1 কাজ

3
এটি আর প্রয়োজনীয় বলে মনে হয় না। ভিএস 2015 আপডেট 3 এ, আমি উত্তরাধিকারী মূল্যায়নকারীদের অক্ষম করেছি এবং $ReturnValueকাজ করেছি। তবে, আপনার Use managed compatibility modeডিবাগিং বিকল্প সক্ষম থাকলে রিটার্ন মানটি কোথাও উপস্থিত হয় না ।
নিক

13

আপনি মেনুতে যান তাহলে টুলসবিকল্প , IntelliTrace, এবং সংগ্রহ ঘটনা এবং কল তথ্যে সেটিংস পরিবর্তন করুন।

আপনি পূর্ববর্তী কল ইভেন্টে ফিরে যেতে পারেন ( Ctrl+ Shift+ F11) এবং অটোস উইন্ডোতে পদ্ধতিটির নাম হিসাবে একটি শিশু হিসাবে পদ্ধতি কল থেকে ফিরে আসা অস্থায়ী মানটি দেখতে পারেন।

এটি আপনি যে পদ্ধতিতে রয়েছেন তার রিটার্নের মানটি আপনাকে দেখাচ্ছে না It এটি আপনাকে বর্তমান পদ্ধতিতে ডাকা সর্বশেষ পদ্ধতির রিটার্ন মান দেখায়।

সুতরাং, এটি ঠিক আছে

DataTable go(){return someTableAdapter.getSomeData();}

এটি আপনাকে ফেরতের মান হিসাবে দেখায় someTableAdapter.getSomeData()

তবে এর জন্য নয়:

int go(){return 100 * 99;}

12

প্রাক। নেট দিনগুলি থেকে পুরানো কৌশল: নিবন্ধগুলি উইন্ডোটি খুলুন এবং EAX নিবন্ধকের মানটি দেখুন। এটিতে বলা শেষ ফাংশনের রিটার্ন মান রয়েছে।


1
ধাতব পদ্ধতির নিকটবর্তী পুরাতন বিদ্যালয়ের জন্য +1 - এটি তবে সমস্ত রিটার্ন মানগুলির জন্য কাজ করবে না (এবং এটি অবশ্যই জিত'র উপর নির্ভরশীল - কে জানে যে এই পাগল অপটিমাইজেশন কীভাবে সিদ্ধান্ত নিতে পারে যা EAX ব্যবহার করবে না? )। অবিচ্ছেদ্য ধরণের জন্য এটি (বেশিরভাগ?) কাজ করবে। বৃহত্তর মান ধরণেরগুলি একটি আলাদা বিষয় (এবং যতক্ষণ না আমি কিছু ব্লগ পোস্ট থেকে স্মরণ করি, সেগুলি ভিএস2013 তে প্রদর্শিত হবে না)।
জিম্মিথ

10

শিফট-এফ 11 ব্যবহার করে গো () পদ্ধতিটি ছাড়ুন এবং তারপরে "অটোস" ডিবাগ উইন্ডোতে এটি পদ্ধতি কলটির রিটার্ন মানটি প্রদর্শন করবে যা কেবল স্ট্যাকটিকে পপআপ করেছে (এই ক্ষেত্রে, গো () পদ্ধতিটি যা তুমি কি চাও). এটি ভিজ্যুয়াল স্টুডিও 2005 এর আচরণ; আমি ভিজুয়াল স্টুডিও 2008 ব্যবহার করি নি তাই আমি জানি না যে এই সংস্করণে এটি একইরকম আচরণ করে কিনা।


আমি VS2005 এবং VS2008 উভয় ক্ষেত্রে এটি চেষ্টা করেছি, কিন্তু আমি সত্যিই এটি দেখতে পাই না। আমার কাছে "অটোস" উইন্ডো খোলা আছে, তবে "গো" ফাংশনে থাকাকালীন অটোস-উইন্ডোটি খালি থাকে। এছাড়াও ফাংশন থেকে বেরোবার সময় (ফাংশনের ক্লোজিং কোঁকড়ানো ধনুর্বন্ধনী হলুদ)। আপনি আমাকে আরও একটি ইঙ্গিত দিতে পারেন?
ডোকম্যান

আমি () ফাংশনটি অন্তর্ভুক্ত করার সময় অটোস-উইন্ডোটি ফাঁকা থাকার আশা করব। আপনাকে ফাংশনটির সম্পূর্ণরূপে পদক্ষেপ নিতে হবে (অর্থাত্ ডিবাগ কার্সারটি ফাংশনটির দিকে নির্দেশ করা উচিত যা CALLED Go ()) এবং তারপরে অটোস উইন্ডোতে আপনাকে go () এর জন্য ফেরতের মানটি দেখতে হবে।
চিতাবাঘ স্কিনপিলবক্সহ্যাট

@ লিওপার্ডস্কিনপিলবক্সহ্যাট: আপনার অতিরিক্ত ইঙ্গিত দিয়েও এটি কাজ করতে পারে না। আপনি কি ভিজ্যুয়াল বেসিকটিতে এটি চেষ্টা করছেন? প্রত্যাবর্তনের মানগুলি পর্যবেক্ষণ ও পরিবর্তনের জন্য এটির পক্ষে আরও ভাল সমর্থন রয়েছে বলে মনে হয় ...
রোমান স্টারকভ

@ ক্রমিনস - আপনার জন্য "অটোস" উইন্ডোতে কী প্রদর্শিত হবে? এটি সর্বশেষ বলা ফাংশনটি কী দিয়েছিল তা নির্দেশ করে এমন একটি লাইন দেখায় না?
চিতাবাঘ স্কিনপিলবক্সহ্যাট

2
@ লিওপার্ডস্কিনপিলবক্সহ্যাট: না, এটি সি # তে করে না। পিএস বাহ, আবার এটি দেখতে আমাকে কিছুটা সময় লাগল।
রোমান স্টারকভ

7

হ্যাঁ, খুব সুন্দর উপায় আছে। একটি গুরুত্বপূর্ণ অপূর্ণতা হ'ল আপনাকে 5 বছর অপেক্ষা করতে হবে, সম্ভবত 6 বছর। যেহেতু আমি দেখতে পেয়েছি যে আপনি ২০০৮ সালের নভেম্বরে পোস্ট করেছেন, তাই আমি আপনাকে প্রস্তাব দিচ্ছি যে ...

... aaaait। ও ভয়েল! আপনার জন্য, এমএস সর্বশেষতম ভিজ্যুয়াল স্টুডিও 2013 প্রকাশ করেছে যেখানে এটি ডিবাগ মোডে চলার সময় মেনুগুলি থেকে অ্যাক্সেসযোগ্য একটি ডিফল্ট বৈশিষ্ট্য (মেনু ডিবাগ ug উইন্ডোজঅটোস )।


@ ডউগের কারণ প্রশ্নটি ২০০৮ সালের নভেম্বরে জিজ্ঞাসা করা হয়েছিল এবং আমার উত্তরটি সেপ্টেম্বর ২০১৪ এ এসেছিল pos আসল পোস্টারটি সম্ভবত সন্তুষ্ট এবং ক্রেডিট স্থানান্তর করতে চায় না। তবে আমি আপনার সাথে একমত - আমার উত্তরটি নিয়ে আমি আর কিছু উত্সাহ গ্রহণ করব না। আমি আপস এবং রেপ লাভ পছন্দ করি। :)
কনরাড ভিল্টারস্টন

আজ এই সমস্যা ছিল। 2014 সালে উত্তর দেওয়ার জন্য ধন্যবাদ যদিও প্রাথমিক সংখ্যাটি ২০০৮ সালের। আপনার উত্তরটি আমি যা খুঁজছিলাম is
এপি

@ এপ কোনও সমস্যা নেই এই পোস্টটি দেখতে টিম মেশিনের মতো কিছুটা মনে হচ্ছে। অতীত থেকে বিস্ফোরণ, hehe।
কনরাড ভিল্টারস্টেন

5

অনেকগুলি কাজের সুযোগ রয়েছে তবে সন্তুষ্ট বলে মনে হয় না।

নীচে জন স্কিটের উদ্ধৃতি দিতে (এখন মুছে দেওয়া উত্তরে মন্তব্য করুন):

তবুও আমার কাছে অসুবিধাজনক দেখাচ্ছে - বিশেষ করে যদি আপনি না জানেন যে আপনি ডিবাগিং শুরু করার আগে কোন রিটার্ন মানটি প্রয়োজন। আমি প্রতিবারই যখনই কোনও কিছু ফেরত যাচ্ছি তখনই আমার কোডটি অস্থায়ী পরিবর্তনশীল থাকতে চাই না

তাত্ত্বিকভাবে, ডিবাগারের একটি returnপরিবর্তনযোগ্য হতে পারে । সর্বোপরি: এটি স্ট্যাকের কেবল একটি পরিবর্তনশীল:

unsafe {
  int * sp = stackalloc int[1];
  try {
    return a+b;
  }
  finally {
    Trace.WriteLine("return is " + *(sp+3));
  }
}

সুতরাং ভিজ্যুয়াল স্টুডিওর জন্য এটি একটি বৈশিষ্ট্য অনুরোধ বিবেচনা করুন।


একটি ভেরিয়েবল (একটি ভাল সংজ্ঞায়িত স্থানীয়) এবং স্ট্যাকের একটি মানের মধ্যে বেশ বড় পার্থক্য রয়েছে। এটি স্ট্যাকের একটি মান, তবে এটি কোনও পরিবর্তনশীল (= স্থানীয়) নয়।
মার্ক গ্র্যাভেল

@ মার্ক: সিএলআর কীভাবে কাজ করে তা আমি নিশ্চিত নই, তবে প্রচুর সংকলক স্ট্যাক পয়েন্টার (এসপি) এর নীচে স্ট্যাকের উপর ফাংশন যুক্তি এবং স্ট্যাক পয়েন্টারের উপরে স্ট্যাকের স্থানীয় ভেরিয়েবলগুলি রাখেন। আমি এটিই প্রদর্শন করার চেষ্টা করছি। এবং ঠিক আছে, যখন রিটার্ন মান একটি রেফারেন্স টাইপ হয়, আপনি কেবল কিছু পয়েন্টার মান পাবেন।
দোকম্যান

1
এটি স্ট্যাকের মধ্যে অগত্যা নয়। প্রকৃতপক্ষে, আপনি যদি ডিবাগ ->
নিবন্ধগুলি

5

ভিজুয়াল স্টুডিও 2015 এ এটির কাজ করার জন্য আমি পাসকালের উত্তরের প্রসারকে প্রসারিত করতে চেয়েছিলাম , কারণ এমন একটি গোপন বৈশিষ্ট্য রয়েছে যা পদ্ধতি কলগুলির পরীক্ষার রিটার্ন মানগুলিতে নথিভুক্ত নয় ।

যদি আপনার নেস্টেড ফাংশন কলগুলি থাকে তবে সিউডো-ভেরিয়েবলগুলি $ResultValueXস্বয়ংক্রিয়ভাবে তৈরি হয়ে যায়, যেখানে এক্স ফাংশন কল অর্ডারকে বোঝায়। সুতরাং আপনার যদি কোনও কল থাকে যেমন Multiply(Five(), Six()), নীচের সিউডো-ভেরিয়েবলগুলি তৈরি করা হয়:

Five()     | $ResultValue1 = 5
Six()      | $ResultValue2 = 6
Multiply() | $ResultValue3 = 30

2

মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ এটি করত, তবে ভিজ্যুয়াল স্টুডিও আফাইক করে না .. :(


2

আমি জানি একমাত্র উপায় হ'ল রিটার্ন লাইনে একটি ব্রেকপয়েন্ট স্থাপন করা এবং তারপরে কুইক ওয়াচ উইন্ডোটি কল করে ফিরে আসা এক্সপ্রেশনটি প্রবেশ করানো:

someTableAdapter.getSomeData();

তবে এটি কেবল তখনই কাজ করে যদি কলটি কোনও অবজেক্টের স্থিতি পরিবর্তন করে না (যেহেতু একই পদ্ধতিতে দ্বিতীয় কল আসবে যখন আপনি কার্য সম্পাদন পুনরায় শুরু করবেন)।


5
এটি কেবল তখনই কাজ করে যদি আপনার এক্সপ্রেশনটিতে ল্যাম্বডাস না থাকে।
রোমান স্টারকভ

1

আপনি মধ্যবর্তী উইন্ডোতে মানটি মূল্যায়ন করতেও বলতে পারেন, যদি এটি পতাকা বা অন্যান্য ভেরিয়েবল সেট করে না, তবে কেবল কিছু ফেরত দেয়।


আপনাকে প্রশ্নটিতে ল্যাম্বডা অন্তর্ভুক্ত করতে হবে, কারণ আমি খুব মাঝে মাঝে তাত্ক্ষণিক উইন্ডোটি ব্যবহার করি
ক্রিস এস

1

আমি মনে করি আপনি রেজিস্টার উইন্ডোতে ডিএবএক্স / উইন্ডোজ / রেজিস্টারগুলিতে RAX রেজিস্টারটি দেখে এটি নির্ধারণ করতে পারেন। ফাংশনটি থেকে বেরিয়ে আসার পরে (SHIFT + F11), RAX রেজিস্টারটি পরীক্ষা করুন। আমি আসলে জানি না, তবে একবার চাঁদে আপনি কোনও রেজিস্টার (প্রাক। নেট দিন) পরীক্ষা করতে পারেন এবং সেখানে ফেরতের মান দেখতে পেতেন। এটি এমনকি RAX এবং আরবিএক্স ইত্যাদির সংমিশ্রণ হতে পারে etc.


1

ডিবাগ → অটোস উইন্ডোটি খোলার ফলে আপনি কাছাকাছি আসবেন। এটি আসল প্রত্যাবর্তনের মানটি দেখায় না, তবে এটি দেখায় যে রিটার্নের বিবৃতিতে কী মূল্যায়ন করা হয়েছিল।


2
এর মতো কিছু দেখানোর জন্য ভিএস ২০০৮ অটোস উইন্ডোটি পেল না। তুমি কি পরিষ্কার করে বলতে পারো?
রোমান স্টারকভ

return x + y; আমার অর্থ হ'ল আপনি যদি এই লাইনে ব্রেকপয়েন্ট স্থাপন করেন তবে আপনার ডিবাগ-অটোস উইন্ডোটি x এবং y এর বর্তমান মানগুলি প্রদর্শন করবে। যেমনটি আমি বলেছিলাম, এটি কেবল আপনার কাছাকাছি হবে। শুধু সহায়ক হতে চেষ্টা। আমি মনে করি না যে এটি ডাউনটাউটের যোগ্য।
গিকিমনকি

1

হ্যাঁ, VB.NET এ স্যুইচ করে। ; পি (আপনি কেবল "ভিজ্যুয়াল স্টুডিও" বলেছিলেন ;;)

যতক্ষণ আমি মনে রাখতে পারি (ভিবি.এনইটি-র সমস্ত সংস্করণের মাধ্যমে ভিজ্যুয়াল বেসিক থেকে), আপনি কেবল ফাংশনটির নামটি জিজ্ঞাসা করতে পারেন। এটি স্থানীয় ভেরিয়েবলের মতো "ফাংশন" যা ফাংশনটির শুরুতে সুস্পষ্টভাবে ঘোষণা করা হয় এবং তার বর্তমান মানটি রিটার্ন মান হিসাবে ব্যবহৃত হয় যখনই ফাংশনটি নন-রিটার্ন স্টেটমেন্টের Exit Functionমধ্য দিয়ে বেরিয়ে আসে অর্থাত্ (যেমন বা কেবল পড়ে যাচ্ছেন) এবং অবশ্যই কখন রিটার্ন স্টেটমেন্ট ব্যবহার করা হয়।

এটি রিটার্ন স্টেটমেন্টের অভিব্যক্তিতেও সেট করা আছে। একটি স্থানীয় ভেরিয়েবলের মতো, এর মানটি ফাংশনের অভ্যন্তরে যে কোনও নির্ধারনের সময়ে পরিদর্শন করা যেতে পারে (রিটার্ন বিবৃতি কার্যকর করার পরে সহ)। সি # এর এটি নেই এবং থাকা উচিত।

সেই সামান্য ভিবি.এনইটি বৈশিষ্ট্য (প্লাসটি Exit Functionযা এটি সক্ষম করে - অন্য বৈশিষ্ট্য সি # এর রক্ষণাত্মক প্রোগ্রামিংয়ের একধরণের ক্ষেত্রে খুব কার্যকর) আমি অনুশীলন করি যেখানে আমি সবসময় ফাংশনটির নামটি ব্যর্থতা / ডিফল্ট মান হিসাবে আরম্ভ করি প্রথম বিবৃতি। তারপরে, যে কোনও ব্যর্থতার পয়েন্টে (যা সাধারণত সাফল্যের পয়েন্টগুলির তুলনায় অনেক বেশি ঘটে), আমি কেবলমাত্র Exit Functionবিবৃতিটি কল করতে পারি (অর্থাত ব্যর্থতা / ডিফল্ট এক্সপ্রেশন বা এমনকি একটি ধ্রুবক / পরিবর্তনশীল নামটিও নকল না করে)।


1

গৃহীত উত্তরটি ভিজ্যুয়াল স্টুডিও 2015 এর সাথে সঠিকভাবে কাজ করে না, তবে পদ্ধতির শেষ লাইনে একটি ব্রেক পয়েন্ট রেখে টিপে F10, এটি স্থানীয়দের উইন্ডোতে ফেরতের মূল্যের সমস্ত অভিব্যক্তি রাখবে।


আপনি সম্ভবত আপনার মন্তব্য অন্তর্ভুক্ত গ্রহণযোগ্য উত্তর সম্পাদনা করতে পারেন।
ডকম্যান

0

আপনি নির্বাচনের চেষ্টা করতে "someTableAdapter.getSomeData();"পারেন, এটিতে ডান ক্লিক করুন এবং দ্রুত দেখার জন্য যেতে পারেন ।


-1

রিটার্ন এক্সপ্রেশনটি একটি ওয়াচ উইন্ডোতে টানুন এবং ছেড়ে দিন।

উদাহরণস্বরূপ, বিবৃতিতে

return someTableAdapter.getSomeData();

টানা এবং পতন

someTableAdapter.getSomeData()

একটি ওয়াচ উইন্ডোতে প্রবেশ করুন এবং আপনি মানটি দেখতে পাবেন।

আপনি যে কোনও অভিব্যক্তির জন্য এটি করতে পারেন।


2
যে সমস্যা: এক্সপ্রেশন দুবার মূল্যায়ন করা হয়।
ডোকম্যান

6
এবং ঘড়ির এক্সপ্রেশনগুলিতে ল্যাম্বডা এক্সপ্রেশন থাকতে পারে না, যা আমি মোটামুটি কিছুটা ব্যবহার করি।
স্টিভ ক্রেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.