"أداة فحص الذاكرة": فحص 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 واختَر الإظهار في لوحة "أداة فحص الذاكرة" (لم يتم بعد استخدام رمز 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.

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

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