[Android] Debug ứng dụng- Tầm quan trọng đối với lập trình viên và một số thủ thuật cơ bản

Trước tiên, Debug ứng dụng là một kỹ năng rất quan trọng cho mọi lập trình viên. Debug là quá trình tìm kiếm ra lỗi hay nguyên nhân gây ra lỗi (bug ở đâu) để có hướng sửa lỗi (fix bug). Việc kiểm soát lỗi của số lượng lớn dòng code là việc không hề đơn giản với những lập trình viên chưa có nhiều kinh nghiệm.

Cũng như các ngôn ngữ lập trình khác, hay bất cứ ai lập trình cũng đều phải biết cách debug. Debug ứng dụng là một kỹ năng rất quan trọng cho mọi lập trình viên.

1. Cách sử dụng công cụ Android Studio Debugger

Công cụ Android Studio Debugger cho phép ta theo dõi ứng dụng theo thời gian thực. Ngoài ra nó còn cung cấp thêm thông tin về thiết bị đã kết nối hoặc máy ảo mà bạn đang sử dụng.

Để minh họa quá trình sử dụng công cụ này để debug chương trình với đoạn code dưới đây:

2. Breakpoint là gì? Cách đặt Breakpoint khi debug trong Android Studio

Trong khi ứng dụng đang chạy, với tốc độ của máy tính thì các dòng code sẽ được thực thi rất  nhanh. Vậy làm sao để tạm dừng chương trình tại một dòng code nào đó để kiểm tra các tham số đầu vào hay các kết quả trả về đã chính xác hay chưa? Đó là lúc chúng ta cần đến Breakpoint. Breakpoint là một thuật ngữ lập trình có nghĩa là vị trí ở dòng code nào mà ta muốn chương trình khi sẽ dừng lại ở đó.

Chúng ta có để chèn thêm một breakpoint hoặc nhiều breakpoint ở vị trí mà chúng ta muốn chương trình khi chạy đến đó sẽ dừng lại. Có nhiều cách để thêm breakpoint.

Cách thứ nhất: Click vào vị trí mà bạn muốn thêm breakpoint. Sau đó chọn Run > Toggle Line Breakpoint

Một vòng tròn màu đỏ sẽ xuất hiện trực tiếp ngay bên trái của dòng code này. Vùng vòng tròn màu đỏ này nằm trong được gọi là gutter:

Cách thứ hai: Đơn giản hơn là di chuột đến  dòng cần đặt debug và kéo ra đầu dòng hiện thị số line, bạn chỉ cần ấn click điểm breakpoint sẽ được thêm vào.

Để xóa điểm breakpoint, chúng ta có thể chọn dòng tương tự, sau đó chọn Run > Toggle Line Breakpoint một lần nữa để tắt nó đi. Hoặc đơn giản là click vào vòng tròn đỏ.

Cách sử dụng Breakpoints

Sau đó, chúng ta có thể chạy debug bằng cách chọn icon “Debug” hoặc "Attach Debugger to Android Process" ở trên thanh công cụ. Việc này sẽ chạy ứng dụng ở chế độ debug lên thiết bị hay máy ảo.

Một khi ứng dụng chạy, bạn mở đến màn hình ứng dụng mà dòng code được đặt breakpoint trước đó có thể được gọi. Nếu dòng code đó được thực hiện, ứng dụng sẽ dừng lại và màn hình console debug sẽ xuất hiện.

Khi ứng dụng dừng lại tại breakpoint, để có thể kiểm tra giá trị của các biến thì chúng ta có một cách. Cách đơn giản là di chuột qua các biến để thấy các giá trị hiện tại của nó:

Nếu chúng ta click vào biểu tượng “+” ở bên trái của cửa sổ màu vàng xuất hiện khi chúng ta di chuột qua một biến, chúng ta có thể xem thêm chi tiết hơn:

Cách điều hướng các dòng code khi debug

Khi debug thì không chỉ đơn giản là kiểm tra giá trị tại dòng code mà bạn đặt breakpoint. Bạn còn phải kiểm tra xem luồng code có chạy đúng ý của mình không? Đây là lúc chúng ta cần đến kỹ năng sử dụng điều hướng.

Cửa sổ Debug sẽ hiện khi ứng dụng dừng tại breakpoint. Trình gỡ lỗi debugger chứa nhiều nút để tương tác với code. Dưới đây là 10 nút sẽ thường được sử dụng nhất:

­­1. Nút hiển thị Breakpoint đang active
Bạn có thể đặt rất nhiều breakpoint trong ứng dụng. Và đôi lúc mải đọc code mà quên không biết mình đang debug dòng nào. Nút này có tác dụng đặt con trỏ trở lại vào vị trí mà bạn đang debug lỗi.

2. Step Over
Nút này sẽ giúp debug nhảy xuống dòng code tiếp theo

3. Step Into
Nút này sẽ nhảy vào bên trong hàm

4. Force Step Into
Nút này sẽ cho phép nhảy thẳng đến dòng đầu tiên bên trong của hàm được gọi

5. Thoát ra ngoài
Nút này cho phép nhảy ra khỏi hàm đang debug.

6. Tiếp tục chương trình(Resume Program)
Nút này sẽ tiếp tục chạy ứng dụng một cách bình thường. Tạm thời bỏ qua debug

7. Tạm dừng chương trình(Pause Program)
Nút này sẽ được greyed-out trước tiên bởi vì chương trình đã sẵn sàng tạm dừng. Nếu bạn chọn tiếp tục chương trình, bạn sẽ tạm dừng nó lại với tùy chọn này.

8. Dừng ứng dụng (Stop App)
Nút này sẽ làm ứng dụng đang chạy trên thiết bị hoặc máy ảo dừng lại hoàn toàn. Đơn giản là tắt ứng dụng và không debug nữa.

9. Xem các Breakpoints
Nút này sẽ mở một cửa sổ hiển thị các tất cả breakpoint đã được chèn. Ngoài ra, nó cho phép chúng ta tinh chỉnh cài đặt cho từng breakpoint riêng biệt.

10. Mute Breakpoint
Nút này giúp bạn có thể bật – tắt tạm thời tất cả các breakpoint.

Tóm lại, Android Studio Debugger là một công cụ hết sức hữu hiệu. Giúp ích rất nhiều trong việc tìm ra các lỗi trong quá trình chạy ứng dụng hoặc xác định xem luồng của ứng dụng có đúng hay không.