30/09/2018, 17:53

Cách debug hiệu quả?

Mình debug chủ yếu là cho xuất ra giá trị của một biến nào đó và kiểm tra thôi. Cũng có sử dụng các công cụ debuger của IDE như đặt breakpoint. này nọ. Nhưng cũng cảm giác còn thiếu thiếu gì á. Có ai có những kinh nghiệm và kĩ năng debug tốt có thể chia sẽ lại được ko?

Mai Anh Dũng viết 19:57 ngày 30/09/2018

Think

Để debug tốt thì mình phải suy nghĩ xem nguyên nhân của vấn đề nằm ở đâu trước khi debug. Debug tốt nhất chỉ là bước xác nhận tại sao lại xảy ra lỗi đấy.

Đối với các vấn đề quá phức tạp mình cần phải chạy từng dòng lệnh để xem thử code flow của chương trình ra sao, sau đó mình suy nghĩ xem lỗi có thể nằm ở đâu. Tập trung vào chỗ đấy để debug thôi. Nếu việc debug không tìm ra lỗi tức là suy luận của mình sai, suy nghĩ lại và debug tiếp.

Debug chỉ là nên là công cụ để kiểm tra, khi đấy thì mình sẽ debug hiệu quả hơn. Bởi vì mình đã có mục tiêu debug cái gì, debug ra làm sao. Chứ không đơn thuần là debug bừa để tìm ra lỗi.

... viết 20:04 ngày 30/09/2018

Trong một số ngôn ngữ lập trình hiện nay đều có cơ chế xử lý ngoại lệ (Exception), có thể sử dụng cái này để kiểm tra đoạn mã mà mình nghi ngờ là có lỗi hoặc trường hợp ngoại lệ.
Thay vì debug để xem giá trị nó đang chạy thì mình cũng có thể in giá trị đó ra bằng cách dùng Exception.

Hnib viết 20:02 ngày 30/09/2018

Exception thì mình cũng ít xài. Cái này API nó cũng hỗ trợ một phần rồi nên khi gọi một method nào có khả năng xảy ra ngoại lệ thì nó bắt buộc phải sử dụng try/catch. Ngoại lệ mình hay gặp phải chủ yếu là các ngoại lệ số học ArimeticException hoặc NullPointerException, IndexBoundOfException.

Bài liên quan
0