[c++] كيفية عرض صفيف المخصصة بشكل حيوي في المصحح Visual Studio؟


3 Answers

هناك طريقتان لعرض البيانات في صفيف 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
};

طريقة واحدة هي مع إطار المراقبة (Debug / Windows / Watch). إضافة ساعة =

m4x4,16

يعرض هذا البيانات في قائمة:

طريقة أخرى هي مع نافذة الذاكرة (Debug / Windows / الذاكرة). حدد عنوان بدء الذاكرة =

m4x4

يعرض هذا البيانات في جدول ، وهو أفضل لمصفوفات ثنائية وثلاثية الأبعاد:

انقر بزر الماوس الأيمن على نافذة الذاكرة لتحديد كيفية تمثيل البيانات الثنائية. تقتصر الاختيارات على الأعداد الصحيحة والعوام وبعض ترميزات النص.

Question

إذا كان لديك صفيف مخصص بشكل ثابت ، يمكن أن يقوم المصحح Visual Studio بسهولة عرض كافة عناصر الصفيف. ومع ذلك ، إذا كان لديك صفيف تم تخصيصه ديناميكيًا ومؤشرًا بمؤشر ، فسيعرض فقط العنصر الأول من المصفوفة عند النقر على + لتوسيعه. هل هناك طريقة سهلة لمعرفة مصحح الأخطاء ، هل تريد إظهار هذه البيانات كصفيف من نوع Foo وحجم X؟




إلى عن على،

int **a; //row x col

أضف هذا لمشاهدة

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



يمكنك العثور على قائمة بالعديد من الأشياء التي يمكنك فعلها باستخدام المتغيرات في نافذة المشاهدة في هذه الأحجار الكريمة في المستندات: MSDN

بالنسبة للمتغير a ، هناك الأشياء التي سبق ذكرها في إجابات أخرى مثل

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)



زيارة ثانية:

لنفترض أن لديك مؤشرًا أدناه:

double ** a; // assume 5*10

ثم يمكنك الكتابة أدناه في مشاهدة التصحيح Visual Studio:

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

والتي ستدفعها إلى مصفوفة مثل أدناه ، ويمكنك عرض جميع المحتويات دفعة واحدة.

double[5][10] a;



Related