Bài giảng Hướng dẫn lập trình VB.NET - Chương 8: Gỡ lỗi (DEBUG) trong chương trình VISUAL BASIC.NET - Phạm Đức Lập

Nội dung thảo luận:

- Các kiểu lỗi khác nhau trong chương trình

- Sử dụng công cụ gỡ lỗi trong VS.NET đặt điểm dừng cho chương trình

- Sử dụng cửa sổ Watch kiểm tra các giá trị của các biến khi thực thi chương trình

- Sử dụng cửa sổ Command để thay đổi giá trị biến và thực thi lệnh trực tiếp

Trong các chương trước, chúng ta đã viết nhiều chương trình khác nhau và chưa hoàn thiện

vì nó có khá nhiều lỗi có thể xảy ra. Chương này chúng ta sẽ tìm hiểu kỹ hơn về lỗi và

cách gỡ lỗi.

1. Tìm kiếm và hiệu chỉnh lỗi

1.1. Các loại lỗi

Có ba loại lỗi thường xảy ra, gồm:

- Lỗi cú pháp (Syntax Error): Còn được gọi là lỗi biên dịch – Compiler error. Lỗi này

do bạn gõ sai cấu trúc ngôn ngữ. Lỗi này bộ soạn thảo mã có thể bắt được (xuất hiện dòng

gạch chân màu xanh loằng ngoằng dưới dòng mã gây lỗi).

- Lỗi thực thi (Runtime error): Xảy ra bất ngờ khi chương trình đang chạy.

- Lỗi logic: Lỗi do tư duy sai dẫn đến kết quả sai với dự kiến nó phải như thế.

Khi gặp lỗi thực thi thì ta cần chú ý đến việc xử lý dữ liệu động nhập vào đúng và hợp lý.

Có rất nhiều lỗi yêu cầu ta phải có giải pháp thích hợp thông qua bộ xử lý lỗi (error

handler). Nó là một đoạn chương trình có khả năng phát hiện các lỗi khác nhau và đưa ra

giải pháp thích hợp để xử lý.

1.2. Phát hiện lỗi LOGIC

Để phát hiện lỗi này thì chương trình cần chạy nhiều lần với nhiều kết quả để xem nó có

phù hợp hay không.

2. Dò lỗi từng dòng lệnh – sử dụng chế độ ngắt (BREAK MODE)

Một trong những cách gỡ lỗi hiệu quả là chạy từng dòng mã và kiểm tra nội dung của một

hay nhiều biến. Để thực hiện điều này, bạn chuyển sang chế độ ngắt. Khi đó chương trình

vẫn chạy nhưng ở cửa sổ Code Editor.

Bây giờ với ví dụ DebugTest chúng ta sẽ học cách đặt điểm dừng (breakpoint) và chuyển

chương trình sang chế độ ngắt để kiểm tra lỗi

pdf 5 trang yennguyen 3340
Bạn đang xem tài liệu "Bài giảng Hướng dẫn lập trình VB.NET - Chương 8: Gỡ lỗi (DEBUG) trong chương trình VISUAL BASIC.NET - Phạm Đức Lập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hướng dẫn lập trình VB.NET - Chương 8: Gỡ lỗi (DEBUG) trong chương trình VISUAL BASIC.NET - Phạm Đức Lập

Bài giảng Hướng dẫn lập trình VB.NET - Chương 8: Gỡ lỗi (DEBUG) trong chương trình VISUAL BASIC.NET - Phạm Đức Lập
Hướng dẫn lập trình VB.NET Chương 8: Debug trong chương trình vb.net 
Biên soạn: Phạm Đức Lập - 1 - Add: cnt-44-dh, VIMARU 
Chương 8: 
Gỡ lỗi (DEBUG) trong chương trình VISUAL BASIC.NET 
--------oOo-------- 
Nội dung thảo luận: 
 - Các kiểu lỗi khác nhau trong chương trình 
 - Sử dụng công cụ gỡ lỗi trong VS.NET đặt điểm dừng cho chương trình 
 - Sử dụng cửa sổ Watch kiểm tra các giá trị của các biến khi thực thi chương trình 
 - Sử dụng cửa sổ Command để thay đổi giá trị biến và thực thi lệnh trực tiếp 
Trong các chương trước, chúng ta đã viết nhiều chương trình khác nhau và chưa hoàn thiện 
vì nó có khá nhiều lỗi có thể xảy ra. Chương này chúng ta sẽ tìm hiểu kỹ hơn về lỗi và 
cách gỡ lỗi. 
1. Tìm kiếm và hiệu chỉnh lỗi 
1.1. Các loại lỗi 
Có ba loại lỗi thường xảy ra, gồm: 
 - Lỗi cú pháp (Syntax Error): Còn được gọi là lỗi biên dịch – Compiler error. Lỗi này 
do bạn gõ sai cấu trúc ngôn ngữ. Lỗi này bộ soạn thảo mã có thể bắt được (xuất hiện dòng 
gạch chân màu xanh loằng ngoằng dưới dòng mã gây lỗi). 
 - Lỗi thực thi (Runtime error): Xảy ra bất ngờ khi chương trình đang chạy. 
 - Lỗi logic: Lỗi do tư duy sai dẫn đến kết quả sai với dự kiến nó phải như thế. 
Khi gặp lỗi thực thi thì ta cần chú ý đến việc xử lý dữ liệu động nhập vào đúng và hợp lý. 
Có rất nhiều lỗi yêu cầu ta phải có giải pháp thích hợp thông qua bộ xử lý lỗi (error 
handler). Nó là một đoạn chương trình có khả năng phát hiện các lỗi khác nhau và đưa ra 
giải pháp thích hợp để xử lý. 
1.2. Phát hiện lỗi LOGIC 
Để phát hiện lỗi này thì chương trình cần chạy nhiều lần với nhiều kết quả để xem nó có 
phù hợp hay không. 
2. Dò lỗi từng dòng lệnh – sử dụng chế độ ngắt (BREAK MODE) 
Một trong những cách gỡ lỗi hiệu quả là chạy từng dòng mã và kiểm tra nội dung của một 
hay nhiều biến. Để thực hiện điều này, bạn chuyển sang chế độ ngắt. Khi đó chương trình 
vẫn chạy nhưng ở cửa sổ Code Editor. 
Bây giờ với ví dụ DebugTest chúng ta sẽ học cách đặt điểm dừng (breakpoint) và chuyển 
chương trình sang chế độ ngắt để kiểm tra lỗi. 
Hướng dẫn lập trình VB.NET Chương 8: Debug trong chương trình vb.net 
Biên soạn: Phạm Đức Lập - 2 - Add: cnt-44-dh, VIMARU 
Để cô lập lỗi, bạn sử dụng nút Step into trên thanh standard bar và cửa sổ Autos để 
kiểm tra giá trị các biến cũng như thuộc tính chính trong chương trình. 
Ví dụ DebugTest: 
Tạo mới một dự án có tên DebugTest như đã biết và thiết kế form như sau: 
Viết mã: 
Bạn tạo thủ tục Button1_click và nhập vào đoạn mã sau: 
 Dim tuoi As Integer 
 If TextBox1.Text = "" Then 
 MsgBox("Bạn bao nhiêu tuổi?") 
 Else 
 tuoi = CInt(TextBox1.Text) 
 If tuoi > 13 And tuoi < 20 Then 
 TextBox2.Text = "Bạn là thanh thiếu niên!" 
 Else 
 TextBox2.Text = "Bạn không phải là thanh thiếu niên" 
 End If 
 End If 
Chương trình này sẽ phát sinh lỗi logic: lứa tuổi 13 cũng là thanh thiếu niên nhưng khi 
người dùng nhập vào tuổi 13 chương trình vẫn xem như đây không phải là thanh thiếu 
niên. 
Bây giờ chúng ta sẽ dùng điểm dừng để kiểm tra xem lỗi này do dòng mã nào gây ra: 
Hướng dẫn lập trình VB.NET Chương 8: Debug trong chương trình vb.net 
Biên soạn: Phạm Đức Lập - 3 - Add: cnt-44-dh, VIMARU 
Đặt điểm dừng (BreakPoint): 
Bạn mở form ở chế độ soạn thảo mã và click chuột vào lề trái của đoạn mã như hình để 
làm xuất hiện một dòng sáng: 
Nhấn F5 hay nút start để chạy chương trình. 
Gõ giá trị 13 vào ô textbox thứ nhất và ấn nút “Kiểm tra”. Lúc này chương trình trở về cửa 
sổ code editor và xuất hiện dòng vàng ở dòng ta đặt điểm dừng như thế này: 
Ở chế độ này ta có thể xem rât nhiều thứ mà chương trình đang diễn ra. Bạn có thể xem giá 
trị hiện hành của biến tuoi bằng cách di chuột lên biến tuoi, giá trị là 0 . Bạn cũng 
có thể thay đổi giá trị biến hay giá trị nhập vào của textbox1. 
Nhấn nút Step Into hay F11 để chuyển sang dòng lệnh tiếp theo. 
Giờ bạn mở cửa sổ Autos bằng cách chọn Debug | Windows | Autos. Cửa sổ này cho phép 
bạn xem tất cả những gì xảy ra khi chương trình chạy. 
Tiếp tục ấn nút Step Into hay F11 ba lần nữa và quan sát. Lúc này phát biểu If thấy điều 
kiện so sánh sai (13 không nằm trong khoảng 13 20) và chuyển đến mệnh đề Else. Đây 
chính là lỗi mà chúng ta cần tìm. Vậy là ta cần xem xét lại biểu thức so sánh trong phát 
biểu If. 
Bạn dừng chạy bằng cách nhấn nút stop và sửa lại toán tử so sánh > thành >=13 rồi lưu 
lại thay đổi này. 
Bỏ điểm dừng: 
Hướng dẫn lập trình VB.NET Chương 8: Debug trong chương trình vb.net 
Biên soạn: Phạm Đức Lập - 4 - Add: cnt-44-dh, VIMARU 
Bạn bỏ điểm dừng bằng cách click chuột vào điểm màu đỏ của dòng mã đã thiết đặt điểm 
dừng khi trước là xong. 
Chạy lại chương trình và kiểm tra xem kết quả đã thay đổi hợp lý hay chưa. 
3. Theo dõi các biến bằng cửa sổ WATCH 
Bạn có thể theo dõi các biến bằng cửa sổ Autos nhưng cửa sổ này sẽ không hiển thị tất cả 
các biến trong chương trình, nó chỉ hiển thị biến của dòng lệnh đang thực thi hay hàm đang 
thực thi mà thôi. 
Để xem toàn bộ nội dung cac biến bạn có thể dùng cửa sổ WATCH. Trong VB.NET, bạn 
có thể mở một lúc tới 4 cửa sổ WATCH. Để mở bạn chọn Debug | Windows | Watch. 
Bạn mở lại dự án trên và chạy lại ở chế độ ngắt. Mở Watch1 theo cách trên. Để theo dõi 
biến hay biểu thức nào bạn chọn nó bằng cách bôi đen và R-Click rồi chọn Add Watch. 
Kết quả: 
Để loại bỏ một biến hay biểu thức ra khỏi watch bạn chọn nó và ấn Delete là xong. 
4. Sử dụng cửa sổ COMMAND 
Cửa sổ command cho phép ta thay đổi giá trị biến và bổ sung một số lệnh. Nó cho phép 
tương tác trực tiếp vơi VB. Ở chế độ Imediate (tức thời) cửa sổ cho phép ta tương tác trực 
tiếp với hầu hết các lệnh của VS như Save, Print 
Hướng dẫn lập trình VB.NET Chương 8: Debug trong chương trình vb.net 
Biên soạn: Phạm Đức Lập - 5 - Add: cnt-44-dh, VIMARU 
4.1. Mở cửa sổ COMMAND trong chế độ Imediate 
Để mở, bạn chọn Debug | Windows | Imediate. 
Kiểm thử bằng cách gõ tuoi = 18 vào cửa sổ này ấn enter. Bạn đã yêu cầu thay đổi giá trị 
biến thành 18. Giờ nếu bạn xem trong cửa sổ watch thì giá trị tuoi là 18. 
4.2. Chuyển sang chế độ command 
Cửa sổ command còn cho phép làm việc ở chế độ command để tương tác trực tiếp với VB 
như File.SaveAll chẳng hạn. 
Để chuyển, bạn có thể gõ >cmd (enter) trong cửa sổ Immediate. 
Gõ thử File.SaveAll (Enter) 
5. Tổng kết 
Bạn làm bảng tổng kết như các chương. 
Các chương trình trước đây ta viết có nhiều lỗi có thể xảy ra. Bạn thử chạy lại chúng, nhập 
nhiều giá trị đặc biệt xem co lỗi nào phát sinh không đồng thời khắc phục thử xem. 

File đính kèm:

  • pdfbai_giang_huong_dan_lap_trinh_vb_net_chuong_8_go_loi_debug_t.pdf