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

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

نظرة عامة

ينظّم أداة فحص الذاكرة محتوى الذاكرة ويساعدك في التنقّل في الصفائف الكبيرة بسرعة. يمكنك عرض قيم ASCII لمحتوى الذاكرة مباشرةً بجانب البايتات، واختيار ترتيب مختلف للبتّات. استخدِم أداة فحص الذاكرة أثناء تصحيح أخطاء تطبيق الويب للحصول على سير عمل فعّال.

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

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

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

  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. يمكن أن تكون ذاكرة التخزين المؤقت أطول من صفحة. بدلاً من الانتقال بين الصفحات، يمكنك استخدام الزرَّين left وright للتنقّل.
  3. تتيح الأزرار على اليمين التنقّل للأمام/للخلف.
  4. يتم تعديل المخزن المؤقت تلقائيًا عند التقدّم أو التراجع. إذا لم يكن الأمر كذلك، يمنحك الزر إعادة تحميل خيار إعادة تحميل الذاكرة وتعديل محتوياتها.

ذاكرة التخزين المؤقت

ذاكرة التخزين المؤقت

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

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

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

  1. يتضمّن شريط الأدوات العلوي زرًا للتبديل بين الترتيب الكبير والصغير للأرقام وفتح الإعدادات. افتح الإعدادات لاختيار أنواع القيم التي تريد رؤيتها تلقائيًا في أداة الفحص. زرّ شريط الأدوات
  2. تعرِض المنطقة الرئيسية جميع تفسيرات القيم وفقًا للإعدادات. يتم عرض جميع الإعدادات تلقائيًا.
  3. يمكن النقر على التشفير. يمكنك التبديل بين dec وhex وoct للأرقام الصحيحة و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 في لوحة مدقّق الذاكرة.

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

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