c++ - কিভাবে ভিজ্যুয়াল স্টুডিও ডিবাগারে একটি গতিশীলভাবে বরাদ্দ করা অ্যারে প্রদর্শন করবেন?




visual-studio debugging (6)

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


MFC অ্যারেগুলির জন্য (CArray, CStringArray, ...) তার টিপ # 4 এর পরবর্তী লিঙ্কটি অনুসরণ করে

http://www.codeproject.com/Articles/469416/10-More-Visual-Studio-Debugging-Tips-for-Native-De

উদাহরণস্বরূপ "CArray pArray" জন্য, ওয়াচ উইন্ডোতে যোগ করুন

     pArray.m_pData,5 

প্রথম 5 উপাদান দেখতে।

PArray যদি একটি দ্বি-মাত্রিক CArray হয় তবে আপনি পরবর্তী সিনট্যাক্স ব্যবহার করে দ্বিতীয় মাত্রার কোন উপাদান দেখতে পারেন:

     pArray.m_pData[x].m_pData,y

আপনি ডক্সগুলিতে এই মণির ঘড়ির উইন্ডোতে ভেরিয়েবলগুলির সাথে অনেকগুলি জিনিসগুলির একটি তালিকা খুঁজে পেতে পারেন: MSDN

একটি পরিবর্তনশীল জন্য, অন্যান্য উত্তর যেমন ইতিমধ্যে উল্লিখিত বিষয় আছে

a,10 
a,su 

কিন্তু বিন্যাস এবং আকারের জন্য অন্য অনেক স্পেসিফিকার রয়েছে, যেমন:

a,en (shows an enum value by name instead of the number)
a,mb (to show 1 line of 'memory' view right there in the watch window)

একটি revisit:

আসুন আপনি নিচের পয়েন্টারটি অনুমান করুন:

double ** a; // assume 5*10

তাহলে আপনি ভিসুয়াল স্টুডিও ডিবাগ ঘড়ির নীচে লিখতে পারেন:

(double(*)[10]) a[0],5

যা নীচের মত একটি অ্যারে মধ্যে এটি নিক্ষেপ করা হবে, এবং আপনি এক যায়গায় সব বিষয়বস্তু দেখতে পারেন।

double[5][10] a;

একটি অ্যারে m4x4 মধ্যে ডেটা দেখতে দুটি পদ্ধতি আছে:

float m4x4[16]={
    1.f,0.f,0.f,0.f,
    0.f,2.f,0.f,0.f,
    0.f,0.f,3.f,0.f,
    0.f,0.f,0.f,4.f
};

একটি উপায় একটি ওয়াচ উইন্ডো (ডিবাগ / উইন্ডোজ / দেখুন) সঙ্গে হয়। ঘড়ি = যোগ করুন

m4x4,16

এটি একটি তালিকাতে তথ্য প্রদর্শন করে:

আরেকটি উপায় একটি মেমরি উইন্ডো (ডিবাগ / উইন্ডোজ / মেমরি) সঙ্গে। একটি মেমরি শুরু ঠিকানা = উল্লেখ করুন

m4x4

এটি একটি টেবিলে ডেটা প্রদর্শন করে যা দুই এবং ত্রিমাত্রিক ম্যাট্রিক্সগুলির জন্য ভাল:

বাইনারি তথ্য কল্পনা করা হয় কিভাবে নির্ধারণ করতে মেমরি উইন্ডোতে রাইট-ক্লিক করুন। পছন্দ পূর্ণসংখ্যা, floats এবং কিছু টেক্সট এনকোডিং সীমাবদ্ধ।


এখনো এটি করার আরেকটি উপায় এখানে MSDN উল্লেখ করা হয়েছে।

সংক্ষেপে, আপনি একটি অক্ষর অ্যারের বিভিন্ন ধরণের স্ট্রিং হিসাবে প্রদর্শন করতে পারেন। আপনি যদি একটি অ্যারের ঘোষণা হিসাবে পেয়েছেন:

char *a = new char[10];

আপনি ওয়াচ উইন্ডোতে একটি ইউনিকোড স্ট্রিং হিসাবে নিম্নলিখিতটি মুদ্রণ করতে পারেন:

a,su

বেশ কয়েকটি রূপান্তর থেকে সম্ভাব্য ভিন্ন রূপান্তরগুলির জন্য এমএসডিএন পৃষ্ঠার টেবিলগুলি দেখুন। বিভিন্ন স্ট্রিং বৈকল্পিক, অ্যারের মধ্যে পৃথক আইটেম মুদ্রণ করার জন্য রূপান্তর, ইত্যাদি


জন্য

int **a; //row x col

দেখতে এই যোগ করুন

(int(**)[col])a,row





debugging