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

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

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

Gỡ lỗi có nghĩa là gì trong 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

Gỡ lỗi có nghĩa là gì trong Android?
. 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!
Gỡ lỗi có nghĩa là gì trong Android?
ở 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”
Gỡ lỗi có nghĩa là gì trong 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)

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

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

Gỡ lỗi có nghĩa là gì trong Android?
— ở 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.

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

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

Gỡ lỗi có nghĩa là gì trong Android?
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
Gỡ lỗi có nghĩa là gì trong Android?
.

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
Step Out — go to the next line outside the current method

Resume Program — to continue the program normally or to advance to the next breakpoint

Chụp ảnh màn hình và video

Android Studio cũng cho phép bạn chụp ảnh màn hình hoặc một đoạn video ngắn về màn hình thiết bị trong khi ứng dụng của bạn đang chạy. Nó hữu ích như một quảng cáo và bạn cũng có thể đính kèm ảnh chụp màn hình hoặc video vào báo cáo lỗi. Để sử dụng nó, hãy chạy ứng dụng của bạn ở chế độ gỡ lỗi, mở cửa sổ công cụ Android DDMS —

Gỡ lỗi có nghĩa là gì trong Android?
— sau đó nhấn Chụp ảnh màn hình
Gỡ lỗi có nghĩa là gì trong Android?
và nhấp vào Lưu. Đối với video, cũng chạy ứng dụng ở chế độ gỡ lỗi và mở cửa sổ công cụ DDMS của Android rồi nhấn Bản ghi màn hình
Gỡ lỗi có nghĩa là gì trong Android?
. Nhấp vào Bắt đầu ghi âm và tương tác với ứng dụng của bạn. Nhấp vào Dừng ghi, sau đó nhập tên tệp cho bản ghi và nhấp vào OK.

Mặc dù không có nhà phát triển nào yêu thích quá trình sửa lỗi, nhưng đó là một điều cần thiết và sẽ làm cho mã của bạn tốt hơn và khách hàng của bạn hài lòng. Android Studio giúp gỡ lỗi dễ dàng… thậm chí có thể thú vị. (Hoặc có thể không). Theo lời của Edsger W vĩ đại. Dijkstra. “Nếu gỡ lỗi là quá trình loại bỏ lỗi phần mềm, thì lập trình phải là quá trình đưa chúng vào. ”

Điều gì xảy ra khi bạn gỡ lỗi điện thoại của mình?

Khi thiết bị ở chế độ Gỡ lỗi USB, máy tính được kết nối với thiết bị có thể đọc tất cả dữ liệu, chạy lệnh và cài đặt hoặc xóa ứng dụng. The security of the device settings and data could be compromised.

Điều gì xảy ra khi bạn bật gỡ lỗi?

Bật gỡ lỗi USB cho phép điện thoại của bạn giao tiếp hoàn toàn với PC để bạn có thể tận dụng các công cụ này. Tuy nhiên, không cần thiết phải bật gỡ lỗi USB nếu bạn chỉ muốn kết nối điện thoại và PC bằng Bluetooth hoặc cáp USB cho các tác vụ đơn giản như đồng bộ hóa ảnh.

Là gỡ lỗi một điều tốt?

Gỡ lỗi là một phần quan trọng trong việc xác định lý do tại sao một hệ điều hành, ứng dụng hoặc chương trình hoạt động sai . Ngay cả khi các nhà phát triển sử dụng cùng một tiêu chuẩn mã hóa, thì vẫn có khả năng một chương trình phần mềm mới sẽ vẫn có lỗi.

Điện thoại gỡ lỗi có nghĩa là gì?

Chế độ Gỡ lỗi USB của Android là một phần của menu Tùy chọn nhà phát triển. Đây là tập hợp các nút chuyển đổi trong Android mà nhà phát triển ứng dụng sử dụng để đảm bảo rằng ứng dụng của họ đang hoạt động chính xác và chẩn đoán sự cố khi có sự cố phát sinh .