ডিবাগিং স্বয়ংক্রিয় বৈশিষ্ট্য


126

অটো-বাস্তবায়িত সম্পত্তিতে সেটার / গেটারের ব্রেকআপপয়েন্ট সেট করার কোনও উপায় আছে কি?

int Counter { get; set; }

এটিকে মানসম্পন্ন সম্পত্তিতে পরিবর্তন করা ছাড়াও (আমি এটি এইভাবে করছি, তবে এটি করার জন্য আমাকে পুরো প্রকল্পটি পরিবর্তন করতে হবে এবং পুনরায় সংকলন করতে হবে)


2
আপনি কোন আইডিই নিয়ে কাজ করছেন? ভিসুয়াল স্টুডিও? (আমি প্রস্তাব দিচ্ছি যে আপনি আপনার প্রশ্নের সাথে একটি সম্পর্কিত ট্যাগ যুক্ত করুন, যেহেতু এটি আসলে সি # ভাষার তুলনায় নির্দিষ্ট
আইডিইয়ের

5
.NET বিশ্বে @ স্টাকাক্সের আমাদের একটি ডিফল্ট আইডিই আছে :)
স্টিলগার

1
@ স্টিলগার, আমি সে সম্পর্কে অবগত, আমি নিজেও ভিএস ব্যবহার করছি। তবে "ডিফল্ট" এর অর্থ এই নয় যে এটি একমাত্র, বা সকলেই এটি ব্যবহার করে। যেহেতু এটি একটি আইডিই প্রশ্ন, সুতরাং আমরা এখানে কোন আইডিই খুঁজছি তা জানা গুরুত্বপূর্ণ। অতএব আমার আগের মন্তব্য।
স্টাকেক্স -

4
@stakx ঠিক আছে যখন .NET সম্পর্কিত প্রশ্নের আইডিইটির উল্লেখ নেই তবে ধারণা করা হয় এটি ভিএস। আর কি আমি বেশিরভাগই মজা করছিলাম :)
স্টিলগার

উত্তর:


220

ভিজ্যুয়াল স্টুডিও 2008, 2010, 2012, 2013 ব্যবহার করে:

  1. ব্রেকপয়েন্ট উইন্ডোতে যান
  2. নতুন -> ফাংশন বিরতি…
  3. এর জন্য get, টাইপ করুন:ClassName.get_Counter()

    এর জন্য set, টাইপ করুন:ClassName.set_Counter(int)

ব্রেকপয়েন্টে আঘাত হানার পরে আপনি "কোনও উত্স উপলভ্য নয়" পাবেন তবে আপনি কল স্ট্যাকের মধ্যে কলিংয়ের অবস্থানটি পাবেন।

আমি এই সমাধানটি এখানে এমএসডিএন-তে পেয়েছি


Briliant। ধন্যবাদ। আমার আর স্বয়ংক্রিয় বৈশিষ্ট্যগুলি স্ট্যান্ডার্ড এক (ফিল্ড সহ) এ পরিবর্তন করার দরকার নেই। এবং আর কোনও
পুনঃসংশোধন নয়

9
এটি ডিফল্ট কনস্ট্রাক্টরদের জন্যও কাজ করে। ব্যবহারClassName.ctor
কলিন ডেরি

11
ভিএস2015 কেবলমাত্র অটো গেটার এবং সেটারে ব্রেকপয়েন্টগুলি সেট করে এটি ঠিক করেছে :)
ক্যাটিজ

1
এখানে কাজ করে না। আমি উভয় চেষ্টা করেছিলাম Form.set_Heightএবং MainWindow.set_Heightদু'জনেরও কাজ হয়নি।
হাই-এঞ্জেল

@ হাই-অ্যাঞ্জেল, লক্ষ্য করুন যে সেটারদের জন্য আপনাকে টাইপটি অন্তর্ভুক্ত করতে হবে, তাই ফর্ম.সেটহাইট (ইনট)
ম্যাট স্মিথ

7

আমি যদি আপনি ছিলাম তবে আমি সম্পত্তিটি সাময়িকভাবে একটি অভ্যন্তরীণ ক্ষেত্রের দ্বারা সমর্থিত একটি মান হিসাবে তৈরি করব ... আপনার ব্রেকপয়েন্টগুলি সেট করুন, এবং তারপরে আপনি এটির পরে পরিবর্তন করতে পারবেন।



2

ভিজ্যুয়াল স্টুডিও 2017 এ:

"সেট" শব্দটি ধরে রাখুন -> রাইট ক্লিক করুন -> ব্রেকপয়েন্ট -> ব্রেকপয়েন্ট sertোকান

আগে:

আগে

পরে:

পরে


0

আপনি যেখানে সম্পত্তি সেট করছেন বা সম্পত্তি পাচ্ছেন সেখানে ব্রেকপয়েন্টগুলি সেট করুন, অন্য কোনও উপায় নেই।

আপনি সমস্ত রেফারেন্স অনুসন্ধান বিকল্পের মাধ্যমে এটি করতে পারেন

এবং যেহেতু এটি কেবল মানগুলি সংরক্ষণ করছে এবং সেটার অংশে কোনও কোড নেই তাই আপনি কী ডিবাগ করবেন?


3
হ্যাঁ, তবে আপনি যখন 20 টি উদাহরণের জন্য এটি ব্যবহার করবেন তখন কী হবে? এবং প্রতিটি নতুন ব্রেকপয়েন্টটি ডিবাগিং প্রক্রিয়াটি ধীর করে দেয়। বা, যদি সম্পত্তিটিতে অ্যাক্সেস কাঠামোর মাধ্যমে করা হয় (উদাহরণস্বরূপ সিরিয়ালাইজেশন)?
মারেক কোয়েনডাক্জ

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