يمكنك استخدام أداة فحص الذاكرة لفحص ذاكرة ArrayBuffer
وTypedArray
وDataView
في JavaScript بالإضافة إلى WebAssembly.Memory
من تطبيقات Wasm المكتوبة بلغة C++.
نظرة عامة
تنظّم أداة فحص الذاكرة محتوى الذاكرة وتساعدك على التنقّل سريعًا في الصفائف الكبيرة. يمكنك عرض قيم ASCII لمحتوى الذاكرة مباشرة بجانب وحدات البايت وتحديد نهاية مختلفة. استخدِم أداة فحص الذاكرة أثناء تصحيح أخطاء تطبيق الويب لزي��دة كفاءة سير العمل.
فتح "أداة فحص الذاكرة"
تتوفّر بضع طرق لفتح أداة فحص الذاكرة.
فتح من القائمة
- افتح "أدوات مطوري البرامج".
- انقر على خيارات إضافية >. مزيد من الأدوات > أداة فحص الذاكرة:
الفتح أثناء تصحيح الأخطاء
- فتح صفحة باستخدام JavaScript
ArrayBuffer
سنستخدم هذه الصفحة التجريبية. - افتح "أدوات مطوري البرامج".
- افتح ملف demo-js.js في لوحة المصادر، وحدِّد نقطة إيقاف عند السطر 18.
- إعادة تحميل الصفحة
- وسِّع قسم النطاق في لوحة برنامج تصحيح الأخطاء اليسرى.
يمكنك فتح أداة فحص الذاكرة:
- من الرمز. النقر على الرمز بجانب السمة
buffer
- من قائمة السياقات: انقر بزر الماوس الأيمن على السمة
buffer
واختَر الإظهار في لوحة "أداة فحص الذاكرة".
- من الرمز. النقر على الرمز بجانب السمة
فحص عناصر متعددة
- يمكنك فحص DataView أو TypedArray أيضًا. على سبيل المثال، السمة
b2
هيTypedArray
. لفحص ذلك، انقر بزر الماوس الأيمن على السمةb2
واختَر الإظهار في لوحة "أداة فحص الذاكرة" (لم يتم بعد استخدام رمزTypedArray
أوDataView
). - سيتم فتح علامة تبويب جديدة في أداة فحص الذاكرة. يُرجى ملاحظة أنه يمكنك فحص كائنات متعددة في وقت واح��.
أداة فحص الذاكرة
تتألّف أداة فحص الذاكرة من 3 أقسام رئيسية:
شريط التنقل
- يعرض إدخال العنوان عنوان البايت الحالي بتنسيق سداسي. يمكنك إدخال قيمة جديدة للانتقال سريعًا إلى مكان جديد في المخزن المؤقت للذاكرة. على سبيل المثال، جرّب كتابة
0x00000008
. - قد يكون حجم المخازن المؤقتة للذاكرة أطول من صفحة واحدة. بدلاً من التمرير عبر، يمكنك استخدام الزرّ الأيسر والأيمن للتنقّل.
- تتيح الأزرار على اليمين إمكانية التنقّل للأمام/للخلف.
- بشكل تلقائي، يتم تحديث المخزن المؤقت تلقائيًا عند التحرك. وإذا لم يكن الأمر كذلك، يمنحك الزر إعادة تحميل خيار إعادة تحميل الذكرى وتعديل محتواها.
سعة الذاكرة المؤقتة
- على يمين الصفحة، يتم عرض العنوان بتنسيق سداسي.
- يتم عرض الذاكرة أيضًا بتنسيق سداسي، مع الفصل بين كل بايت بمسافة. يتم تمييز البايت المحدّد حاليًا. يمكنك النقر على البايت أو التنقّل باستخدام لوحة المفاتيح (لليسار أو اليمين أو الأعلى أو الأسفل).
- يظهر تمثيل ASCII للذاكرة على الجانب الأيمن. يُظهر التمييز القيمة المقابلة لوحدات البت المحددة في البايت. على غرار الذاكرة، يمكنك النقر فوق البايت أو التنقل باستخدام لوحة المفاتيح (اليسار، اليمين، لأعلى، لأسفل).
أداة فحص القيم
- يعرض شريط الأدوات العلوي زرًا للتبديل بين النهاية الكبيرة والصغيرة وفتح الإعدادات. افتح الإعدادات لاختيار أنواع القيم التي تريد أن تظهر بشكل تلقائي في أداة الفحص.
- تعرض المنطقة الرئيسية كل تفسيرات القيم وفقًا للإعدادات. تلقائيًا، تظهر جميع هذه الإعدادات.
- الترميز قابل للنقر. يمكنك التبديل بين dec وhx وoct لعدد صحيح و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
.
لمزيد من المعلومات، يُرجى الاطّلاع على: