Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release thay vì aosp-main để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Hạt nhân Linux cung cấp nhiều cơ chế để chẩn đoán các vấn đề, bao gồm cả
theo dõi, BPF và
phân tích tài nguyên. Hầu hết các kỹ thuật này đều có trong hạt nhân nhị phân Hình ảnh hạt nhân chung (GKI). Khi phát triển sản phẩm, có nhiều công cụ khác được tích hợp vào quy trình phát triển hoặc tích hợp, một số công cụ trong đó yêu cầu các tính năng hạt nhân không thuộc GKI. Giống như hầu hết các tính năng của GKI, bạn nên làm việc với các nhà bảo trì cấp trên để thêm các tính năng này vào Linux.
Các tính năng gỡ lỗi hạ nguồn trong mô-đun của nhà cung cấp
Các tính năng gỡ lỗi có phạm vi tương tự như các loại tính năng khác và phải tuân theo các quy trình như mô tả trong các bản vá dành riêng cho Android.
Các tính năng gỡ lỗi theo dòng xuống gây phiền toái
Một số tính năng gỡ lỗi hữu ích yêu cầu các tuỳ chọn cấu hình đặc biệt bị tắt trong GKI và do đó yêu cầu một bản dựng đặc biệt của hạt nhân. Các tính năng này có thể bị tắt do bị phạt về hiệu suất hoặc không phù hợp để sử dụng trong sản xuất, nhưng lại không thể thiếu để gỡ lỗi một số loại vấn đề. Ví dụ về các công cụ như vậy bao gồm trình dọn dẹp (KASAN, UBSAN), debugfs và các tính năng và công cụ dành riêng cho đối tác khác.
Bạn có thể tự quyết định cách quản lý các hạt nhân hỗ trợ gỡ lỗi đặc biệt ảnh hưởng đến Giao diện mô-đun hạt nhân (KMI). Một phương pháp phổ biến là tạo bản gỡ lỗi nội bộ và phân phối các cấu phần phần mềm thu được cho khách hàng nội bộ hoặc đối tác phát triển hạ nguồn. Bạn nên tiếp tục tách riêng các tính năng đó thành các mô-đun vì các tính năng gỡ lỗi dành riêng cho đối tác không được chấp nhận vào hạt nhân GKI ngoài các nguyên tắc được mô tả trong các bản vá dành riêng cho Android.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Debug features\n\nThe Linux kernel provides many mechanisms to diagnose issues including\n[tracing](https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/Documentation/trace/),\n[BPF](https://lwn.net/Articles/818714/), and\n[profiling](https://perf.wiki.kernel.org/index.php/Tutorial). Most\nof these techniques are available in the Generic Kernel Image (GKI) binary\nkernel. When developing products, there are many more tools that are integrated\ninto the development or integration processes, some of which require kernel\nfeatures that aren't part of GKI. As with most GKI features, we encourage you to\nwork with upstream maintainers to add these features to Linux.\n| **Note:** Kernel debugging tools and techniques are beyond the scope of this document.\n\nDownstream debug features in vendor modules\n-------------------------------------------\n\nDebugging features are similar in scope to other kinds of features and must\nfollow the same processes as described in\n[Android-specific patches](/docs/core/architecture/kernel/kernel-code#android-specific-patches).\n\nIntrusive downstream debug features\n-----------------------------------\n\nSome useful debug features require special configuration options that are\ndisabled in GKI and therefore require a special build of the kernel. These\nfeatures might be disabled due to performance penalties or unsuitability for\nproduction use, but are indispensable for debugging certain\ntypes of issues. Examples of such tools include sanitizers (KASAN, UBSAN),\n`debugfs`, and other partner-specific features and tools.\n\nIt's up to you to determine how you manage special debug-enabled kernels\nthat impact the Kernel Module Interface (KMI). A common practice is to have an\ninternal debug build and deliver the resulting artifacts to internal customers\nor downstream development partners. We recommend continuing to isolate such\nfeatures into modules as partner-specific debug features can't be accepted into\nthe GKI kernel beyond the guidelines described in\n[Android-specific patches](/docs/core/architecture/kernel/kernel-code#android-specific-patches)."]]