از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
GWP-ASan و KFENCE
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
GWP-ASan و KFENCE به ترتیب ابزارهای تشخیص حافظه احتمالی برای فضای کاربران و هسته هستند. هنگامی که فعال است، تعداد کمی از تخصیص ها با صفحات حافظه اضافی که حافظه اختصاص داده شده را احاطه کرده اند محافظت می شوند. این اجازه می دهد تا سرریز بافر و استفاده پس از رایگان را با سربار عملکرد ناچیز شناسایی کنید. حتی با یک نرخ نمونه کوچک برای تخصیصهای محافظتشده، وقتی در مقیاس مستقر شوند، میتوانند به طور موثر اشکالات ایمنی حافظه را شناسایی کنند. از زمان معرفی، این ابزارها به شناسایی اشکالات پلتفرم متعدد کمک کرده اند و ثابت کرده اند که ابزار ارزشمندی برای بهبود ثبات و امنیت هستند. ما فروشندگان را تشویق میکنیم تا آنها را فعال کرده و باگهای شناسایی شده در دستگاههای کاربر نهایی را به دقت بررسی کنند.
توسعهدهندگان باید وجود خرابیها را با بررسی /data/tombstones
، logcat
یا نظارت بر خط لوله DropboxManager
فروشنده برای باگهای کاربر نهایی بررسی کنند.
برای اطلاعات بیشتر به اسناد ما در مورد اشکال زدایی کد بومی اندروید مراجعه کنید.
اشکال زدایی کد پلتفرم اندروید بومی arrow_forward GWP-ASan برای تشخیص اشکالات ایمنی حافظه فضای کاربران
GWP-ASan در اندروید 11 برای تخصیص فضای کاربران معرفی شد. هنگامی که GWP-ASan یک اشکال را شناسایی می کند، گزارش خرابی را با Cause: [GWP-ASan]:
ثبت می کند و فرآیند را خاتمه می دهد. گزارشهای اشکال حاوی اطلاعات تخصیص و تخصیص اضافی هستند که شناسایی علت اصلی را آسانتر میکنند.
GWP-ASan در هنگام راهاندازی بهطور تصادفی برای ۱٪ از فرآیندها یا برنامههای سیستم و برای برنامههایی که android:gwpAsanMode
در فایل AndroidManifest.xml
خود تنظیم میکنند، فعال میشود.
GWP-ASan arrow_forward KFENCE برای شناسایی اشکالات ایمنی حافظه هسته
اندروید 12 KFENCE را برای تخصیص هسته هسته معرفی کرد. هنگامی که KFENCE یک باگ را شناسایی می کند، گزارش خرابی را ثبت می کند که با BUG: KFENCE,
صفحات محافظ را غیرفعال می کند و به اجرا ادامه می دهد. این یک مکانیسم تشخیص اشکال هسته را فعال می کند که حداقل بر تجربه کاربر تأثیر می گذارد.
برای کسب اطلاعات بیشتر در مورد KFENCE به اسناد موجود در https://www.kernel.org مراجعه کنید
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# GWP-ASan and KFENCE are probabilistic memory detection tools for userspace\nand the kernel, respectively. When enabled, a small number of allocations are\nguarded with additional memory pages that surround the allocated memory.\nThis allows detecting buffer overflows and use-after-frees at a negligible\nperformance overhead. Even with a small sample rate for the guarded allocations,\nwhen deployed at scale they can effectively detect memory safety bugs.\nSince their introduction these tools have helped identify numerous platform\nbugs and have proved to be a valuable tool for improving stability and security.\nWe encourage vendors to enable them and to closely monitor the bugs detected on\nend user devices.\n\n\nDevelopers should check the presence of crashes by checking\n`/data/tombstones`, `logcat` or by monitoring the vendor\n[DropboxManager](https://developer.android.com/reference/android/os/DropBoxManager)\npipeline for end user bugs.\n\n\nFor more information see our docs on debugging Android native\ncode.\n[Debugging Native Android Platform Codearrow_forward](/docs/core/tests/debug)\n\nGWP-ASan for detecting userspace memory safety bugs\n---------------------------------------------------\n\n\nGWP-ASan was introduced in Android 11 for userspace\nheap allocations. When GWP-ASan detects a bug, it records a crash report with\n`Cause: [GWP-ASan]:` and terminates the process. The bug reports\ncontain additional allocation and deallocation information that make it easier\nto identify the root cause.\n\n\nGWP-ASan is randomly enabled, at start-up, for 1% of system processes or\napps and for applications that set the `android:gwpAsanMode` in their\n`AndroidManifest.xml` file.\n[GWP-ASanarrow_forward](https://developer.android.com/ndk/guides/gwp-asan)\n\nKFENCE for detecting kernel memory safety bugs\n----------------------------------------------\n\n\nAndroid 12 introduced KFENCE for kernel heap\nallocations. When KFENCE detects a bug, it records a crash report starting\nwith `BUG: KFENCE,` disables the guard pages and continues execution.\nThis enables a kernel bug detection mechanism that minimally impacts the user\nexperience.\n\n\nTo learn more about KFENCE see the documentation available at [https://www.kernel.org](https://www.kernel.org/doc/html/latest/dev-tools/kfence.html)"]]