"أداة فحص الذاكرة": فحص ArrayBuffer وTypedArray وDataView وWasm Memory

صوفيا إميليانوفا
صوفيا إميليانوفا

استخدِم أداة فحص الذاكرة الجديدة لفحص ذاكرة ArrayBuffer وTypedArray وDataView في JavaScript بالإضافة إلى WebAssembly.Memory من تطبيقات Wasm المكتوبة بلغة C++.

فتح "أداة فحص الذاكرة"

في ما يلي بعض الطرق لفتح أداة فحص الذاكرة.

فتح من القائمة

  1. افتح "أدوات مطوري البرامج".
  2. انقر على خيارات إضافية المزيد > مزيد من الأدوات > أداة فحص الذاكرة. قائمة "أداة فحص الذاكرة"

الفتح أثناء تصحيح الأخطاء

  1. افتح صفحة باستخدام رمز JavaScript ArrayBuffer. سنستخدم صفحة العرض التوضيحي هذه.
  2. افتح "أدوات مطوري البرامج".
  3. افتح ملف demo-js.js في لوحة المصادر، وحدِّد نقطة إيقاف في السطر 18.
  4. إعادة تحميل الصفحة
  5. وسِّع قسم النطاق في لوحة برنامج تصحيح الأخطاء اليسرى.
  6. يمكنك فتح أداة فحص الذاكرة:

    • من الرمز: النقر على الرمز بجانب السمة buffer
    • من قائمة السياقات: انقر بزر الماوس الأيمن على السمة buffer واختَر الاكتشاف في لوحة أداة فحص الذاكرة.

    العرض في لوحة أداة "فحص الذاكرة"

فحص عناصر متعددة

  1. يمكنك أيضًا فحص DataView أو TypedArray. على سبيل المثال، b2 هو TypedArray. لفحص ذلك، انقر بزر الماوس الأيمن على السمة b2 واختَر Reveal in Memory Inspector Panel (الإظهار في لوحة أداة فحص الذاكرة) (لم يتم العثور على أي رمز للسمة TypedArray أو DataView بعد).
  2. يتم فتح علامة تبويب جديدة في أداة فحص الذاكرة. يُرجى العِلم أنّه يمكنك فحص عناصر متعدّدة في آنٍ واحد. علامة تبويب جديدة في "أداة فحص الذاكرة"

عارض الذاكرة

عارض الذاكرة

يتألف أداة فحص الذاكرة من 3 أقسام رئيسية:

شريط التنقل

  1. يعرض إدخال العنوان عنوان البايت الحالي بالتنسيق السداسي العشري. يمكنك إدخال قيمة جديدة للانتقال إلى موقع جديد في المخزن المؤقت للذاكرة. على سبيل المثال، جرِّب كتابة 0x00000008.
  2. وقد تكون مساحة التخزين المؤقت في الذاكرة أطول من صفحة واحدة. بدلاً من الانتقال للأسفل، يمكنك استخدام الزرَّين لليسار ولليمين للتنقّل.
  3. تتيح الأزرار على اليمين التنقّل للأمام/للخلف.
  4. ويتم تحديث المخزن المؤقت تلقائيًا عند الانتقال. وإذا لم يكن الأمر كذلك، يتيح لك الزر إعادة تحميل خيار إعادة تحميل الذكرى وتعديل محتواها.

مخزن بيانات مؤقّت

مخزن بيانات مؤقّت

  1. من اليمين، يتم عرض العنوان بالتنسيق السداسي العشري.
  2. يتم عرض الذاكرة أيضًا بتنسيق ست عشري، مع الفصل بين كل بايت بمسافة. سيتم تمييز وحدة البايت المحدّدة حاليًا. ويمكنك النقر على البايت أو التنقّل باستخدام لوحة المفاتيح (لليسار أو اليمين أو الأعلى أو الأسفل).
  3. يظهر تمثيل ASCII للذاكرة على الجانب الأيمن. يعرض التمييز القيمة المتجاوبة لوحدات البت المحددة على البايت. وعلى غرار الذاكرة، يمكنك النقر على البايت أو التنقّل باستخدام لوحة المفاتيح (يسار أو يمين أو أعلى أو أسفل).

أداة فحص القيم

أداة فحص القيم

  1. يحتوي شريط الأدوات العلوي على زر للتبديل بين الخطوط الكبيرة والصغيرة ولفتح الإعدادات. افتح الإعدادات لاختيار أنواع القيم التي تريد الاطّلاع عليها تلقائيًا في أداة الفحص. زر شريط الأدوات
  2. تعرض المنطقة الرئيسية جميع تفسيرات القيم وفقًا للإعدادات. بشكل تلقائي، يتم عرض جميعها.
  3. يمكن النقر على الترميز. يمكنك التبديل بين ديسمبر وسداسي وثُماني للعدد الصحيح وSci وdec للأعداد العشرية. مفتاح تبديل الترميز

جارٍ فحص الذاكرة

لنفحص الذاكرة معًا.

  1. اتبع هذه الخطوات لبدء تصحيح الأخطاء.
  2. غيِّر العنوان إلى 0x00000027 في إدخال العنوان. إدخال العنوان
  3. لاحِظ تمثيل ASCII وتفسيرات القيم. جميع القيم فارغة في الوقت الحالي.
  4. لاحظ الزر الأزرق الانتقال إلى العنوان بجانب Pointer 32-bit وPointer 64-bit. يمكنك النقر عليه للانتقال مباشرةً إلى العنوان. تظهر الأزرار باللون الرمادي ولا يمكن النقر عليها إذا كانت العناوين غير صالحة. زر الانتقال إلى العنوان
  5. انقر على استئناف تنفيذ النص البرمجي للتنقل بين الرمز. استئناف تنفيذ النص البرمجي
  6. لاحِظ أنّ تمثيل ASCII قد تم تحديثه الآن. يتم أيضًا تعديل جميع تفسيرات القيم. يتم تعديل جميع تفسيرات القيم.
  7. لنخصِّص أداة فحص القيمة لعرض النقطة العائمة فقط. انقر على زر الإعدادات وضَع علامة في المربّع التعويم 32 بت والتعويم 64 بت فقط. الإعدادات لتخصيص "أداة فحص القيمة"
  8. لنغيّر الترميز من dec إلى sci. يُرجى ملاحظة أنّه يتم تعديل تمثيلات القيمة وفقًا لذلك. غيِّر الترميز.
  9. جرِّب التنقّل في المخزن المؤقت للذاكرة باستخدام لوحة المفاتيح أو باستخدام شريط التنقّل. كرِّر الخطوة 4 لملاحظة تغييرات القيم.

فحص الذاكرة في WebAssembly

الكائن WebAssembly.Memory هو ArrayBuffer يحتوي على وحدات البايت الأولية لذاكرة الكائن. تتيح لك لوحة أداة فحص الذاكرة فحص هذه الكائنات في تطبيقات Wasm المكتوبة بلغة C++.

للاستفادة الكاملة من فحص "WebAssembly.Memory":

  • يجب استخدام الإصدار 107 من Chrome أو إصدار أحدث. يمكن التحقق من الإصدار على chrome://version/.
  • ثبِّت الإضافة C/C++ DevTools Support (DWARF). هذا مكوّن إضافي لتصحيح أخطاء تطبيقات WebAssembly C/C++ باستخدام معلومات تصحيح أخطاء DWARF.

لفحص WebAssembly.Memory لكائن:

  1. افتح أدوات مطوري البرامج في هذه الصفحة التجريبية.
  2. في لوحة المصادر، افتح demo-cpp.cc وضبط نقطة إيقاف في دالة main() في السطر 15: x[i] = n - i - 1;.
  3. أعِد تحميل الصفحة لتشغيل التطبيق. يتوقف برنامج تصحيح الأخطاء مؤقتًا عند نقطة الإيقاف.
  4. في لوحة برنامج تصحيح الأخطاء، وسِّع النطاق > محلي.
  5. انقر على الرمز العرض في "أداة فحص الذاكرة" إلى جانب مصفوفة x: int[10].

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

تم فتح الصفيفة x في "أداة فحص الذاكرة".

لإيقاف تمييز ذاكرة العنصر، في لوحة أداة فحص الذاكرة، مرِّر مؤشر الماوس فوق شارة العنصر وانقر على الزر x.

إيقاف تمييز ذاكرة العنصر.

لمزيد من المعلومات، يُرجى الاطّلاع على: