Gỡ lỗi có nghĩa là gì trong Android?

Nếu bạn đang chạy Android 4. 2. 2 trở lên, bạn có thể thấy hộp thoại sau khi kết nối thiết bị của mình với PC đang chạy RAD Studio

Nhấp vào OK để cho phép gỡ lỗi USB trên PC của bạn. Nếu bạn vô tình nhấp vào Hủy, hãy ngắt kết nối thiết bị của bạn khỏi PC và kết nối lại để hộp thoại hiển thị lại trên thiết bị của bạn

Xử lý sự cố

Nếu thiết bị Android của bạn không được RAD Studio hoặc Trình quản lý thiết bị hệ thống phát hiện chính xác, hãy làm theo các bước ở trên để xác minh rằng tính năng gỡ lỗi USB đã được bật

Chế độ nhà phát triển trong điện thoại Android cho phép sao chép các ứng dụng mới được lập trình qua USB sang thiết bị để thử nghiệm. Tùy theo phiên bản HĐH và các tiện ích đã cài đặt, phải bật chế độ để lập trình viên đọc nhật ký nội bộ. Xem Android

Gỡ lỗi là một trong những phần thiết yếu trong cuộc sống hàng ngày của nhà phát triển. Chúng tôi luôn cố gắng viết mã chống đạn và các ứng dụng không có lỗi nhưng để làm được điều này, chúng tôi phải sửa mọi lỗi mà đôi khi rất khó phát hiện trong mã. Gỡ lỗi cho phép bạn xem qua từng dòng mã, đánh giá các biến, phương thức của ứng dụng và mã của bạn hoạt động tốt như thế nào. Dễ dàng tìm thấy lỗi nhỏ trong các đoạn mã lớn. Trong bài viết này, chúng ta sẽ đi qua các mẹo và thủ thuật cơ bản để gỡ lỗi ứng dụng Android

Bắt đầu chế độ gỡ lỗi

Khi bạn muốn bắt đầu chế độ gỡ lỗi, trước tiên hãy đảm bảo thiết bị của bạn được thiết lập để gỡ lỗi và được kết nối với USB, đồng thời mở dự án của bạn trong Android Studio [AS] và chỉ cần nhấp vào biểu tượng Gỡ lỗi

. Then select your device in the Choose Device window, and Android Studio will launch your application in the debug mode. Android Studio will also automatically open the Debug tool. You can turn it on manually by clicking Debug!
ở cuối Android Studio. Một cách khác để bắt đầu gỡ lỗi mà không phải khởi động lại ứng dụng của bạn là nhấp vào “Đính kèm trình gỡ lỗi vào quy trình Android”
. Bạn cũng phải chọn thiết bị và ứng dụng [quy trình] mà bạn muốn đính kèm trình gỡ lỗi vào. Tùy chọn này cũng rất hữu ích nếu bạn muốn gỡ lỗi một tính năng cụ thể và bạn phải xem qua một vài màn hình khác trong thời gian chờ đợi. Bởi vì một số thao tác chạy chậm hơn trong chế độ gỡ lỗi khi đi qua ứng dụng mà không bật chế độ gỡ lỗi sẽ nhanh hơn nhiều. Khi bạn chỉ còn cách thứ bạn muốn gỡ lỗi bằng một cú nhấp chuột, hãy đính kèm trình gỡ lỗi vào ứng dụng của bạn và bắt đầu gỡ lỗi ngay tại đó.

Gỡ lỗi bằng Nhật ký

Cách dễ nhất để gỡ lỗi mã của bạn là sử dụng Nhật ký. Đây là tiện ích cho phép bạn gửi đầu ra nhật ký, sau đó bạn có thể xem trong Logcat ở dạng AS. Bạn thậm chí không cần chạy ứng dụng của mình ở chế độ gỡ lỗi để thực hiện việc này. Đơn giản chỉ cần sử dụng Android. sử dụng. Đăng nhập kết hợp với một trong các phương pháp sau. Nhật ký. v[], Nhật ký. d[], Nhật ký. i[], Nhật ký. w[], Nhật ký. e[] hoặc Nhật ký. wtf[]. Tất cả đều sử dụng 2 tham số chuỗi. TAG và tin nhắn của bạn. Bạn cũng có thể chuyển Throwable làm tham số thứ ba, tham số này sẽ ghi nhật ký TAG, tin nhắn và ngoại lệ của bạn. Bằng cách sử dụng các phương pháp khác nhau — mức độ chi tiết [VERBOSE, GỠ LỖI, THÔNG TIN, CẢNH BÁO, LỖI] — sau này bạn có thể lọc nhật ký hoặc thậm chí thiết lập AS và tùy chỉnh màu văn bản Logcat và nền văn bản cho từng cấp độ

Đây là một ví dụ đơn giản

private static final String TAG = “MyActivity”;

...

button.setOnClickListener[new OnClickListener[]{
	@Override
	public void onClick[View view]{
		Log.d[TAG, “Click on button”];
    }
}

Verbose không bao giờ được biên dịch khi bạn đang thực hiện bản dựng phát hành ứng dụng của mình, nhưng bạn có thể thực hiện việc này trong quá trình phát triển. Các bản ghi gỡ lỗi được lưu giữ trong thời gian chạy, trong khi các bản ghi Lỗi, Cảnh báo và Thông tin luôn được lưu giữ trong. Do đó, nếu bạn sử dụng bất kỳ nhật ký nào trong số này cho mục đích phát triển, đừng quên xóa chúng, đặc biệt nếu bạn ghi một số dữ liệu nhạy cảm. Tốt hơn nữa, hãy bọc các nhật ký này thành câu lệnh if

Ví dụ

if [BuildConfig.DEBUG] {
  Log.d[“Sensitive message”];
}

Hoặc tạo trường BuildConfig của riêng bạn và thiết lập nó trong tệp lớp

logcat

Tại STRV, chúng tôi sử dụng tiện ích Logcat, xử lý câu lệnh if trong số những thứ khác. Kiểm tra nó ra ở đây. trong xây dựng. gradle, chúng tôi có LOGS thuộc tính cấu hình bản dựng, có thể được đặt thành true trong loại bản dựng gỡ lỗi và thành false trong loại bản phát hành. Logcat luôn kiểm tra thuộc tính LOGS trước khi ghi bất kỳ tin nhắn nào. Sau đó, bạn không phải lo lắng về việc gói nó trong bất kỳ câu lệnh if nào

Chỉ cần gọi phương thức

Logcat.d[“Your message here”];

Bạn cũng có thể đặt các tham số khác trong lớp này. Thông báo có thể bao gồm "Vị trí mã". Điều này có nghĩa là nó hiển thị tên của phương thức, dòng mã và cả chuỗi nơi Logcat được gọi. Một điều thú vị khác về Logcat là bạn có thể ghi các tin nhắn được định dạng. Vì vậy, thay vì

Logcat.d[“Message with index: ” + someInteger]

chúng tôi sử dụng

Logcat.d[“Message with index: %d”, someInteger]

Phương pháp này cho phép bạn có bao nhiêu tham số tùy thích

Điểm dừng

Khi bạn đang ở điểm mà bạn không thể sửa lỗi chỉ bằng cách xem mã của mình, đã đến lúc sử dụng các điểm dừng. Điểm dừng cho phép bạn tạm dừng thực thi ứng dụng của mình tại một dòng mã cụ thể

Thiết lập điểm dừng

Chỉ cần đi tới tệp mà bạn muốn gỡ lỗi, tìm một dòng mã mà bạn muốn bắt đầu và nhấp vào thanh bên ở bên trái của dòng này. Bạn sẽ thấy một chấm đỏ ở đó. Sau đó chạy ứng dụng của bạn ở chế độ gỡ lỗi hoặc đính kèm trình gỡ lỗi [xem bên trên]

Bạn cũng có thể tùy chỉnh cấu hình điểm dừng của mình. Thiết lập điểm dừng của bạn bằng cách nhấp chuột phải vào chấm đỏ và sau đó nhập điều kiện khi bạn muốn kích hoạt điểm dừng này. Rất tiện lợi khi đoạn mã này được gọi nhiều lần nhưng bạn muốn dừng tại một điểm cụ thể. Bạn cũng có thể mở cài đặt điểm ngắt — Xem Điểm ngắt

— ở phía bên trái của cửa sổ công cụ Gỡ lỗi. Bạn sẽ có thể xem tất cả các điểm dừng, tắt/bật từng điểm dừng hoặc chọn một điểm dừng từ danh sách và định cấu hình nó. Ví dụ: bạn có thể vô hiệu hóa một điểm ngắt cho đến khi một điểm ngắt khác được nhấn và sau đó xóa điểm dừng đó sau khi nhấn.

Gỡ lỗi với các điểm dừng

Android Studio sẽ đánh dấu bất kỳ dòng mã nào mà ứng dụng dừng tại đó khi điểm ngắt được nhấn. Phần khó bắt đầu trong cửa sổ Gỡ lỗi - kiểm tra mọi biến hiện được phân bổ và đi từng dòng hoặc nhảy đến một điểm dừng khác. Mở rộng cây của một đối tượng và bạn sẽ có thể xem tất cả các giá trị trường của nó. Nếu đó là một đối tượng tùy chỉnh, nó sẽ hiển thị cùng giá trị với phương thức toString[]. Nếu bạn quan tâm đến một trường cụ thể trong đối tượng này hoặc bạn muốn một số kết quả dễ đọc, hãy ghi đè phương thức toString[]. Bạn sẽ không cần mở cây, bạn sẽ thấy kết quả bên cạnh gốc cây.
Điều thú vị là nếu bạn có bitmap, bạn cũng có thể nhìn thấy hình ảnh trong khi gỡ lỗi.

Bạn cũng có thể thiết lập đồng hồ để chỉ xem các biến bạn quan tâm. Nhưng bạn cũng có thể đánh giá bất kỳ biểu thức nào tại điểm thực thi hiện tại của mình bằng cách sử dụng các biến và phương thức được phân bổ [hoặc thậm chí các đối tượng và phương thức khác từ đối tượng cụ thể đó]. Bạn cũng có thể đánh giá các biểu thức trong dạng xem Đánh giá biểu thức

Bạn có thể mở chế độ xem Biến bằng cách nhấp vào biểu tượng

và theo dõi bằng cách nhấp vào [] và Đánh giá Biểu thức bằng cách nhấp vào
.

Khi bạn đã tìm ra điều gì đang xảy ra tại thời điểm cụ thể này, đã đến lúc chuyển sang bước tiếp theo. Ở đây bạn có vài lựa chọn

Bước qua — chuyển đến dòng mã tiếp theo mà không cần nhập phương thức ở dòng hiện tại

Bước vào — chuyển đến dòng đầu tiên mà phương thức bên trong được gọi ở dòng hiện tại

Chủ Đề