[Visual Studio] Hướng dẫn Debug trong Visual Studio (P1)

Trăm năm Kiều vẫn là Kiều

Coder fix bug là điều đương nhiên.

Các nghiên cứu cho thấy trong việc phát triển phần mềm thì khoảng 20% thời gian dành cho viết code ban đầu, còn lại là khoảng thời gian fix bug hoặc thêm tính năng mới. Điều đó cho thấy viêc fix bug chiếm khá nhiều thời gian của các lập trình viên. Các IDE ngày nay hỗ trợ debug khá mạnh, việc thông thạo về debug trong IDE giúp cho lập trình viên dễ dàng hơn trong việc “tìm và diệt bug”.

1. Trình sửa lỗi (debugger)

Debugger là chương trình được tích hợp trong IDE. Giúp chúng ta có thể kiểm soát được chương trình chạy thế nào và có thể xem được cái gì đang xảy ra.

2. Breakpoints (F9)

Breakpoints là 1 điểm đánh dấu đặc biệt để nói với debugger dừng chương trình đang thực hiện ở điểm Breakpoints trong chế độ debug.

Để thêm/xóa breakpoints trong visual studio:

  • Đặt con trỏ chuột ở dòng muốn đặt breakpoints ấn phím F9 (Hoặc chọn “Debug -> Toggle Breakpoint” trên thanh menu)
  • Click chuột trái vào đầu dòng
Breakpoint trong visual studio

Khi chạy đến dòng lệnh có breakpoints chương trình sẽ dừng lại (điểm breakpoints sẽ có mũi tên màu vàng). Khi đó ta có thể điều khiển chạy từng dòng lệnh tiếp hoặc nhảy đến breakpoints tiếp theo (nhấn F5 hoặc click Continue)

Continue breakpoint

Để xóa tất cả breakpoints chọn Debug -> Delete All Breakpoints hoặc nhấn ctrl+shifl+F9

3. Step into (F11)

Step into chương trình sẽ thực hiện dòng lệnh tiếp theo. Nếu dòng lệnh đó gọi hàm, “Step into” sẽ nhảy vào
hàm và trả về điều kiển ở đầu hàm.

Ban đầu khi nhấn F11, chương trình sẽ dừng đầu hàm main.

step info (F11) visual studio

Sau đó nhấn tiếp F11 chương trình sẽ nhảy đến dòng lệnh tiếp theo.

Gặp dòng lệnh gọi hàm, nhấn tiếp F11 chương trình sẽ chạy vào đầu hàm PrintValue.

Chương trình sẽ tiếp tục thực hiện từng dòng khi nhấn F11

4. Step over (F10)

Step over chương trình sẽ thực hiện dòng lệnh tiếp theo. Nếu dòng lệnh đó gọi hàm, “Step over” sẽ không nhảy vào
hàm mà chỉ nhận kết quả trả về.

Như step into nhưng step over sẽ không nhảy vào hàm PrintValue

5. Step out (shifl+F11)

Step out không thực hiện từng dòng lệnh, Step out chạy nhanh qua hàm hiện tại trả về điều khiển khi hàm thực hiện xong.

Chương trình đang thực hiện trong hàm PrintValue

Step out

Nhấn step out chương trình sẽ thoát khỏi hàm PrintValue và nhận kết quả trả về.

6. Run to cursor (ctrl+F10)

Chương trình sẽ nhảy tới dòng đặt con trỏ chuột ( giống breakpoints)

7. Set next statement (ctrl+shift+F10)

Cho phép bạn nhảy tới dòng code đặt con trỏ chuột

Chỉ set được trong hàm đang thực hiện, không nhảy sang được hàm khác.

Có thế lùi lại những câu lệnh đã thực hiện hoặc nhảy tới câu lệnh chưa thực hiện trong hàm.

Có thế dùng chuột kéo mũi tên màu vàng bên trái dòng lệnh

Leave A Comment?