STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Các Vấn Đề về Debug Cơ Bản

    Lập trình viên chính là các công cụ sinh ra Bugs nhiều nhất vì họ lập trình. Nên công cụ tốt nhất để gỡ bỏ bớt bugs chính là các lập trình viên.
    03/06/2014
    23/09/2020
    3 phút đọc
    Các Vấn Đề về Debug Cơ Bản

    Bug là gì?

    Bugs là bọ, bọ ám chỉ các lỗi xảy ra trong code, hay những điểm làm cho ứng dụng không thực thi được hoặc thực thi sai.

    Bugs luôn tiềm ẩn ở mọi nơi trong code hoặc cả kiến trúc phần mềm, không thể lường trước được mọi tình huống có thể xảy ra mà chỉ có thể cố gắng làm giảm nó đến mức thấp nhất.

    Debug là gi?

    Debug là quá trình tìm kiếm nguyên nhân gây ra lỗi, từ đó đề xuất nên hướng sửa lỗi (fix bug). Do đó, cần nhiều ý tưởng, phương pháp để tìm kiếm bug của ứng dụng.

    Bài viết không đề cập đến các loại test chuyên nghiệp như pentest, unit test, integration test, ... mà hướng đến cách thức lập trình viên tìm ra lỗi.

    Các công cụ và phương pháp debug

    1. Debug trực quan với Debuger có trong Visual Studio hoặc trên các IDE có hỗ trợ.
    2. Debug với các tín hiệu.
    3. Debug với log.

    1. Debug với Debuger

    Các IDE thường hỗ trợ kèm công cụ debug trực quan để có thể theo dõi trạng thái tức thời của ứng dụng. Các công cụ này có thể hỗ trợ theo dõi trạng thái hiện tại của 1 đối tượng và từ đó giúp sửa chữa những lỗi này nhanh chóng hơn.

    Cách debug này cũng phù hợp với các mô hình sự kiện, tức thời, lượng dữ liệu khiêm tốn, logic của 1 đoạn code nhỏ, và theo dõi trạng thái ngắn hạn.

    Đối với những bug phải xảy ra với 1 khoảng thời gian kéo dài, dữ liệu lớn hơn, cần có những điều kiện tổ hợp trước đó hoặc không biết trước thì cách debug này lại không phù hợp.

    Tuy nhiên, nếu có thể tìm được phương pháp chia tách đủ nhỏ 1 bài toán lớn để quy về các yếu tố debug theo điều kiện tức thời được thì cũng có thể phân chia và sử dụng cách này.

    2. Debug với các tín hiệu

    Trường hợp để tìm ra các lỗi như đồ họa hoặc âm thanh, hoặc kiểm tra các lỗi trên layout, phương pháp debug cơ bản là có thể tạo ra được 1 tín hiệu mà từ đó có thể nhận xét được các kết quả không như mong đợi và tìm cách thay đổi nó.

    Có thể xem xét các trường hợp như flip ảnh dọc, thay vì phải kiểm trả từng điểm ảnh white-box với việc dò từng dòng mã trong code, nên kết hợp với black-box để quan sát kết quả cuối cùng, từ đó nhanh chóng đánh giá được các lỗi có thể có.

    Với CSS cũng có thể sử dụng thuộc tính background-color để kiểm tra độ rộng của element trực quan khi nó có thể thay đổi vị trí liên tục làm cho inspector của trình duyệt web không thể theo dõi.

    3. Debug với log

    Với các lỗi có thể phát sinh do 1 điều kiện kéo dài, 2 phương pháp trên có thể không giúp ích được, có những lỗi có thể phát sinh sau 1 khoảng thời gian dài sử dụng hoặc rơi vào trường hợp cụ thể nào đó, trường hợp này người ta thường ghi lại các log tại các điểm cần thiết để theo dõi.

    Để có thể trực quan hơn, thông thường có thể lưu lại các input, thời điểm, các output cần thiết để dễ dàng theo dõi.

    Có thể lưu trữ log trên bộ nhớ đệm và xuất ra màn hình liên tục giả sử ứng dụng này không nhất thiết phải chạy quá lâu. Trong các trường hợp phải chạy lâu hoặc chạy trên các hệ thống, thông thường các log này sẽ được ghi vào file và khi có sự cố có thể xem xét các lỗi này khi cần.

    0 Bình luận
    Đời Con Bọ

    Đời Con Bọ

    Tản mạn về cuộc sống, sự nghiệp coder.

    Đề xuất

    Định Dạng Ảnh Bitmap - Giới Thiệu và Các Thao Tác Cơ Bản
    Trong đời thường, bạn sẽ gặp các file ảnh có định dạng .PNG, .JPG, .TGA, ...
    HTML - Phần 1: Cơ Bản Về HTML
    Các kiến thức cơ bản về HTML trong thiết kế web và tạo trang web đầu ...

    Khám phá

    Các Thao Tác Cơ Bản Quản Lý Project Với Git
    Giới thiệu khái niệm và ưu điểm của Git. Hướng dẫn cài đặt và các thao ...
    05/08/2015
    Giới Thiệu Về Sprite Trong Cocos2d-x 3.x.x
    Giới thiệu tổng quan về khái niệm cơ bản, một số cách dùng để khởi tạo ...
    Các Phép Đếm Cơ Bản
    Giới thiệu về các quy tắc đếm cơ bản: quy tắc cộng, quy tắc nhân, tổ ...
    26/09/2014
    Thỏa Thuận Sử Dụng Dịch Vụ STDIO
    Thỏa thuận này quy định về điều kiện giao kết hợp đồng, quyền lợi, nghĩa ...
    Lập Trình Win32 API - Phần 2: Tạo Cửa Sổ Cơ Bản
    Hệ điều hành Windows cung cấp các cửa sổ Window. Có thể sử dụng Win32 ...
    Cơ Bản về Mã Hóa
    Mạng máy tính là một môi trường mở, những thông tin gửi lên hoặc nhận về ...
    CBP-3: Khai Báo Component Cơ Bản, Tích Hợp Component vào Entity
    Khai báo component CAnimation để thêm hình ảnh hiển thị cho Entity, đây ...
    Các Kỹ Thuật Lập Trình Căn Bản
    Khi mới bắt đầu học lập trình, thường thì các bạn sẽ giải các bài tập ...
    15/09/2015
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích.. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020