Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Gỡ lỗi sử dụng bộ nhớ gốc

Địa chỉ Sanitizer: HWASan / ASan

Nhà phát triển nền tảng Android sử dụng HWAddressSanitizer (Hwasan) để tìm lỗi bộ nhớ trong C / C ++.

Bạn có thể nhấp nháy dựng sẵn hình ảnh Hwasan với các thiết bị hỗ trợ từ Pixel ci.android.com ( hướng dẫn cài đặt chi tiết ).

Kể từ Android 8.0 (Oreo), bạn cũng có thể sử dụng ASan để gỡ lỗi ứng dụng trên các thiết bị sản xuất không root. Bạn có thể tìm hướng dẫn trên wiki Asan .

Heapprofd

Android 10 hỗ trợ hepprofd, một hồ sơ đống lấy mẫu, chi phí thấp. hepprofd cho phép bạn gán mức sử dụng bộ nhớ gốc cho các ngăn chứa trong chương trình của bạn. Xem heapprofd - Android Heap Profiler trên trang web tài liệu Perfetto để biết thêm thông tin.

Gỡ lỗi Malloc

Xem Malloc gỡ lỗiNative Memory Tracking sử dụng libc Callback cho một mô tả thấu đáo về các tùy chọn gỡ lỗi cho những sự cố nhớ quê hương.

libmemunreachable

Libmemunreachable của Android là một trình phát hiện rò rỉ bộ nhớ gốc không chi phí cao. Nó sử dụng bộ thu gom rác đánh dấu và quét không chính xác trên tất cả bộ nhớ gốc, báo cáo bất kỳ khối không thể truy cập nào là rò rỉ. Xem các tài liệu hướng dẫn libmemunreachable để được hướng dẫn cách sử dụng.

Móc Malloc

Nếu bạn muốn xây dựng các công cụ của riêng mình, libc của Android cũng hỗ trợ chặn tất cả các cuộc gọi phân bổ / miễn phí xảy ra trong quá trình thực thi chương trình. Xem các tài liệu hướng dẫn malloc_hooks để được hướng dẫn cách sử dụng.

Thống kê Malloc

Hỗ trợ Android mallinfo(3)malloc_info(3) mở rộng để <malloc.h> . Các malloc_info chức năng có sẵn trong Android 6.0 (Marshmallow) và cao hơn và lược đồ XML của nó được ghi nhận ở của Bionic <malloc.h> .

Máy chủ giám sát gỡ lỗi Dalvik

Bạn cũng có thể sử dụng Dalvik Debug Màn server (DDMS) để có được cái nhìn đồ họa của Malloc gỡ lỗi đầu ra.

Để sử dụng DDMS, trước tiên hãy bật giao diện người dùng bộ nhớ gốc của nó:

  1. Mở ~/.android/ddms.cfg
  2. Thêm dòng: native=true

Sau khi khởi chạy lại DDMS và chọn một quy trình, bạn có thể chuyển sang tab phân bổ gốc mới và điền nó vào danh sách phân bổ. Điều này đặc biệt hữu ích để gỡ lỗi rò rỉ bộ nhớ.