أداتا GWP-ASan وKFENCE هما أداتان إحصائيتان لرصد الذاكرة في مساحة المستخدم والنواة، على التوالي. عند تفعيل هذه الميزة، يتم حماية عدد صغير من عمليات التوزيع باستخدام صفحات ذاكرة إضافية تحيط بالذاكرة المخصّصة. يتيح ذلك رصد حالات تجاوز سعة المخزن المؤقت واستخدام الذاكرة بعد تحريرها بتكلفة باهظة في الأداء. حتى مع معدّل عيّنات صغير للعمليات التي تمّت مراقبتها، يمكن أن ترصد هذه الأدوات بفعالية أخطاء أمان الذاكرة عند نشرها على نطاق واسع. ومنذ طرح هذه الأدوات، ساعدت في تحديد العديد من أخطاء منصتنا وأثبتت أنّها أداة قيّمة لتحسين الثبات والأمان. ونشجّع المورّدين على تفعيل هذه الميزة ومراقبة الأخطاء التي يتم رصدها على أجهزة المستخدمين النهائيين عن كثب.
على المطوّرين التحقّق من حدوث الأعطال من خلال التحقّق من
/data/tombstones
أو logcat
أو من خلال مراقبة مسار العميل
DropboxManager
بحثًا عن الأخطاء المتعلّقة بالمستخدم النهائي.
لمزيد من المعلومات، يُرجى الاطّلاع على مستنداتنا حول تصحيح أخطاء رمز Android المضمّن.
تصحيح أخطاء رمز نظام التشغيل Android الأصليأداة GWP-ASan لرصد أخطاء أمان الذاكرة في مساحة المستخدم
تم تقديم GWP-ASan في Android 11 لمساحة المستخدم
عمليات تخصيص الذاكرة. عندما ترصد أداة GWP-ASan خطأً، تسجِّل تقريرًا عن العُطل باستخدام Cause: [GWP-ASan]:
وتُنهي العملية. تحتوي تقارير الأخطاء
على معلومات إضافية حول عملية تخصيص الذاكرة وإلغاء تخصيصها، ما يسهّل
تحديد السبب الأساسي.
يتم تفعيل GWP-ASan عشوائيًا عند بدء التشغيل لنسبة% 1 من عمليات النظام أو
التطبيقات وللتطبيقات التي تضبط android:gwpAsanMode
فيملف
AndroidManifest.xml
.
KFENCE لرصد أخطاء أمان ذاكرة kernel
وفّر نظام التشغيل Android 12 واجهة KFENCE لعمليات تخصيص ملف "المكبّر" في kernel. عندما يرصد KFENCE خطأً، يسجِّل تقريرًا عن الأعطال يبدأ برمز BUG: KFENCE,
الذي يؤدي إلى إيقاف صفحات الحماية ومواصلة التنفيذ.
ويؤدي ذلك إلى تفعيل آلية رصد أخطاء نظام التشغيل التي تؤثر بشكلٍ بسيط في تجربة
المستخدم.
لمزيد من المعلومات حول KFENCE، يُرجى الاطّلاع على المستندات المتوفّرة على https://www.kernel.org