استخدِم أداة فحص الذاكرة الجديدة لفحص ذاكرة ArrayBuffer
وTypedArray
وDataView
في JavaScript بالإضافة إلى WebAssembly.Memory
من تطبيقات Wasm المكتوبة بلغة C++.
فتح "أداة فحص الذاكرة"
في ما يلي بعض الطرق لفتح أداة فحص الذاكرة.
فتح من القائمة
- افتح "أدوات مطوري البرامج".
- انقر على خيارات إضافية > مزيد من الأدوات > أداة فحص الذاكرة.
الفتح أثناء تصحيح الأخطاء
- افتح صفحة باستخدام رمز JavaScript
ArrayBuffer
. سنستخدم صفحة العرض التوضيحي هذه. - افتح "أدوات مطوري البرامج".
- افتح ملف demo-js.js في لوحة المصادر، وحدِّد نقطة إيقاف في السطر 18.
- إعادة تحميل الصفحة
- وسِّع قسم النطاق في لوحة برنامج تصحيح الأخطاء اليسرى.
يمكنك فتح أداة فحص الذاكرة:
- من الرمز: النقر على الرمز بجانب السمة
buffer
- من قائمة السياقات: انقر بزر الماوس الأيمن على السمة
buffer
واختَر الاكتشاف في لوحة أداة فحص الذاكرة.
- من الرمز: النقر على الرمز بجانب السمة
فحص عناصر متعددة
- يمكنك أيضًا فحص DataView أو TypedArray. على سبيل المثال،
b2
هوTypedArray
. لفحص ذلك، انقر بزر الماوس الأيمن على السمةb2
واختَر Reveal in Memory Inspector Panel (الإظهار في لوحة أداة فحص الذاكرة) (لم يتم العثور على أي رمز للسمةTypedArray
أوDataView
بعد). - يتم فتح علامة تبويب جديدة في أداة فحص الذاكرة. يُرجى العِلم أنّه يمكنك فحص عناصر متعدّدة في آنٍ واحد.
عارض الذاكرة
يتألف أداة فحص الذاكرة من 3 أقسام رئيسية:
شريط التنقل
- يعرض إدخال العنوان عنوان البايت الحالي بالتنسيق السداسي العشري. يمكنك إدخال قيمة جديدة للانتقال إلى موقع جديد في المخزن المؤقت للذاكرة. على سبيل المثال، جرِّب كتابة
0x00000008
. - وقد تكون مساحة التخزين المؤقت في الذاكرة أطول من صفحة واحدة. بدلاً من الانتقال للأسفل، يمكنك استخدام الزرَّين لليسار ولليمين للتنقّل.
- تتيح الأزرار على اليمين التنقّل للأمام/للخلف.
- ويتم تحديث المخزن المؤقت تلقائيًا عند الانتقال. وإذا لم يكن الأمر كذلك، يتيح لك الزر إعادة تحميل خيار إعادة تحميل الذكرى وتعديل محتواها.
مخزن بيانات مؤقّت
- من اليمين، يتم عرض العنوان بالتنسيق السداسي العشري.
- يتم عرض الذاكرة أيضًا بتنسيق ست عشري، مع الفصل بين كل بايت بمسافة. سيتم تمييز وحدة البايت المحدّدة حاليًا. ويمكنك النقر على البايت أو التنقّل باستخدام لوحة المفاتيح (لليسار أو اليمين أو الأعلى أو الأسفل).
- يظهر تمثيل ASCII للذاكرة على الجانب الأيمن. يعرض التمييز القيمة المتجاوبة لوحدات البت المحددة على البايت. وعلى غرار الذاكرة، يمكنك النقر على البايت أو التنقّل باستخدام لوحة المفاتيح (يسار أو يمين أو أعلى أو أسفل).
أداة فحص القيم
- يحتوي شريط الأدوات العلوي على زر للتبديل بين الخطوط الكبيرة والصغيرة ولفتح الإعدادات. افتح الإعدادات لاختيار أنواع القيم التي تريد الاطّلاع عليها تلقائيًا في أداة الفحص.
- تعرض المنطقة الرئيسية جميع تفسيرات القيم وفقًا للإعدادات. بشكل تلقائي، يتم عرض جميعها.
- يمكن النقر على الترميز. يمكنك التبديل بين ديسمبر وسداسي وثُماني للعدد الصحيح وSci وdec للأعداد العشرية.
جارٍ فحص الذاكرة
لنفحص الذاكرة معًا.
- اتبع هذه الخطوات لبدء تصحيح الأخطاء.
- غيِّر العنوان إلى
0x00000027
في إدخال العنوان. - لاحِظ تمثيل ASCII وتفسيرات القيم. جميع القيم فارغة في الوقت الحالي.
- لاحظ الزر الأزرق الانتقال إلى العنوان بجانب
Pointer 32-bit
وPointer 64-bit
. يمكنك النقر عليه للانتقال مباشرةً إلى العنوان. تظهر الأزرار باللون الرمادي ولا يمكن النقر عليها إذا كانت العناوين غير صالحة. - انقر على استئناف تنفيذ النص البرمجي للتنقل بين الرمز.
- لاحِظ أنّ تمثيل ASCII قد تم تحديثه الآن. يتم أيضًا تعديل جميع تفسيرات القيم.
- لنخصِّص أداة فحص القيمة لعرض النقطة العائمة فقط. انقر على زر الإعدادات وضَع علامة في المربّع التعويم 32 بت والتعويم 64 بت فقط.
- لنغيّر الترميز من
dec
إلىsci
. يُرجى ملاحظة أنّه يتم تعديل تمثيلات القيمة وفقًا لذلك. - جرِّب التنقّل في المخزن المؤقت للذاكرة باستخدام لوحة المفاتيح أو باستخدام شريط التنقّل. كرِّر الخطوة 4 لملاحظة تغييرات القيم.
فحص الذاكرة في WebAssembly
الكائن WebAssembly.Memory
هو ArrayBuffer
يحتوي على وحدات البايت الأولية لذاكرة الكائن. تتيح لك لوحة أداة فحص الذاكرة فحص هذه الكائنات في تطبيقات Wasm المكتوبة بلغة C++.
للاستفادة الكاملة من فحص "WebAssembly.Memory
":
- يجب استخدام الإصدار 107 من Chrome أو إصدار أحدث. يمكن التحقق من الإصدار على
chrome://version/
. - ثبِّت الإضافة C/C++ DevTools Support (DWARF). هذا مكوّن إضافي لتصحيح أخطاء تطبيقات WebAssembly C/C++ باستخدام معلومات تصحيح أخطاء DWARF.
لفحص WebAssembly.Memory
لكائن:
- افتح أدوات مطوري البرامج في هذه الصفحة التجريبية.
- في لوحة المصادر، افتح
demo-cpp.cc
وضبط نقطة إيقاف في دالةmain()
في السطر 15:x[i] = n - i - 1;
. - أعِد تحميل الصفحة لتشغيل التطبيق. يتوقف برنامج تصحيح الأخطاء مؤقتًا عند نقطة الإيقاف.
- في لوحة برنامج تصحيح الأخطاء، وسِّع النطاق > محلي.
انقر على الرمز إلى جانب مصفوفة
x: int[10]
.ويمكنك بدلاً من ذلك النقر بزر الماوس الأيمن على الصفيف واختيار الكشف في لوحة أداة فحص الذاكرة.
لإيقاف تمييز ذاكرة العنصر، في لوحة أداة فحص الذاكرة، مرِّر مؤشر الماوس فوق شارة العنصر وانقر على الزر x
.
لمزيد من المعلومات، يُرجى الاطّلاع على: