Debug trong Android Studio - Nhất định phải giỏi những kỹ năng này!

19:52 15-04-2021BKAP Media

Cũng như nhiều ngôn ngữ lập trình khác, hay bất kể người lập trình nào cũng đều phải biết cách debug. Debug ứng dụng là một kỹ năng sống còn của mọi lập trình viên. Đó là lý do bạn phải biết cách debug trong android studio trước khi bắt tay vào học code ứng dụng.

#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.

Cách debug trong Android Studio

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

Khi ứng dụng 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, cứ vèo vèo như gió vậy. 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 xem các tham số đầu vào đã chuẩn chưa? Kết quả trả về thế nào? 

Đó 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 tại đó.

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

Cách đặt Breakpoint khi debug

Cách sử dụng Breakpoints

Sau đó, chúng ta có thể chạy debug bằng cách chọn icon “Debug” ở 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 debugger 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ó.

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.

Bạn sẽ nhìn thấy cửa sổ Debugger. Cửa sổ này 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 mà bạn sẽ thường sử dụng nhất:

  • ­­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. (ví dụ: nếu bạn chèn một breakpoint vào một nơi nào đó, nhìn xung quanh một số file khác, bạn có thể nhấn vào nút này để trở lại breakpoint ban đầu của bạn).

  • Step Over

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

  • Step Into

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

  • 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

  • Thoát ra ngoài

Cái này thì dễ hiểu rùi, đơn giản là nhảy ra khỏi hàm đang debug.

  • 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

  • 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.

  • 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. Hiểu nôm na là tắt ứng dụng và không debug nữa.

  • 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 bạn tinh chỉnh cài đặt cho từng breakpoint riêng biệt.

  • Mute Breakpoint

Tùy chọn 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. Bạn hãy thử trải nghiệm với việc sử dụng debugger trong các project mà bạn đang thực hành, debug ngay cả khi không gặp lỗi. Bằng cách này, bạn sẽ hiểu rất rõ về luồng code của dự án mà mình đang phát triển.

Làm chủ Android Studio

#3. Một số thủ thuật Debug nâng cao

Attach Debugger - Công dụng không ngờ

Có lẽ thời gian mình phải debug ứng dụng chắc có ngót nghét 5 năm. Thời gian đầu, mình cũng được các bạn trên mạng hướng dẫn debug là dùng nút hình con bọ xanh, và chỉ biết vậy thôi. Đến một ngày đẹp trời, mình quyết định thử click vào nút nhỏ trên thanh điều hướng, có tên là Attach Debugger.

Thật tuyệt vời! Công cụ này cho phép debug ứng dụng đang chạy hiện tại – mà không phải cài đặt lại. Điều này tiết kiệm được rất nhiều thời gian khi mà thời gian build gradle ngày càng chậm. Có thể nhiều bạn đã biết đến nút này, nhưng mình tin là ít người sử dụng.

Đặt Breakpoint có điều kiện

Khi bạn debug một vòng lặp và vì lý do nào đó bạn muốn kiểm tra vòng lặp thứ 6 chẳng hạn. Có lẽ phần lớn các bạn sẽ đặt một điểm breakpoint vào trong vòng lặp ấy và sau đó bạn tự nhấn phím F8 đúng 5 lần để đi đến nơi mà bạn muốn.

Với các breakpoint có điều kiện, bạn chỉ cần đưa điều kiện vào breakpoint và Android Studio chỉ dừng khi điều kiện là đúng. Để làm được như vậy, bạn làm như sau:

Click chuột phải vào breakpoint và điền vào điều kiện.

Tiến hành Debug lỗi như bạn thường làm và thật kinh ngạc. Android Studio chỉ dừng lại chỉ khi điều kiện được đáp ứng.

Exception Breakpoints - Tự động tìm dòng code bị exception

Chức năng này cực kỳ hữu ích khi bạn không biết ứng dụng đang bị lỗi ở đâu, và chưa có ý tưởng gì về việc phải đặt breakpoint chỗ nào. Thay vì thử đặt các breakpoint khắp nơi để dò xét. Bạn có thể yêu cầu IDE tạm dừng bất kể khi nào mà một exception có thể hiện  ra.

Thử bắt tay ngay và chinh phục Android Studio nhé!

Phía trên là 3 kỹ năng debug để bạn làm việc thật tốt với Android studio trước khi bắt tay vào làm những sản phẩm game thực thụ. 

  • Đừng quên tìm hiểu một khóa học Android để được cầm tay chỉ việc cách tạo lập ứng dụng từ Android nhé: https://bit.ly/2L485Vk

Bachkhoa-Aptech là đơn vị trực thuộc Aptech Ấn Độ - tập đoàn Công nghệ thông tin (CNTT) hàng đầu trên thế giới. Thương hiệu Aptech đã liên tục 17 năm nhận giải thưởng TOP ICT cho đơn vị đào tạo CNTT xuất sắc nhất Việt Nam. Với mô hình đào tạo LÀM TRƯỚC HỌC SAU đáp ứng yêu cầu Doanh nghiệp và cam kết việc làm, hơn 35.000 sinh viên tốt nghiệp Bachkhoa-Aptech đều có việc làm tốt, lương cao, đúng theo ngành nghề được đào tạo.

Học 2,5 năm nhận bằng CNTT Quốc tế:  https://bit.ly/2HGeWBE

Hotline tư vấn 24/7: 0968 27 6996 - 024 3755 4010

   0968276996
< wire:id="z4LFwslaqwBHBynGoSOd" wire:initial-data="{"fingerprint":{"id":"z4LFwslaqwBHBynGoSOd","name":"embedded.footer","locale":"vn"},"effects":{"listeners":[]},"serverMemo":{"children":[],"errors":[],"htmlHash":"26380eb1","data":[],"dataMeta":[],"checksum":"b6d730781b1d34d77605feb6435977fee63939db4f7bd4949827b337f4c2fd67"}}"!-- Messenger Plugin chat Code -->