intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hướng dẫn những thao tác cơ bản khi gỡ rối (debug) một chương trình trong môi trường Visual Studio

Chia sẻ: Nguyễn Văn E E | Ngày: | Loại File: PDF | Số trang:8

171
lượt xem
26
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Để học được một ngôn ngữ lập trình, đối với những người mới bắt đầu, điều đặc biệt cần thiết là phải biết cách "gỡ rối" (debug) chương trình. Bài viết này sẽ cố gắng giúp những người mới bắt đầu biết cách làm sao để làm điều này một cách hiệu quả trong môi trường Visual Studio. "Chạy" chương trình Có thể hiểu nôm na, một chương trình sẽ chạy bắt đầu từ dòng lệnh đầu tiên sau dấu { của hàm main và sẽ chấm dứt sau khi thực hiện xong lệnh cuối cùng trước dấu } của...

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn những thao tác cơ bản khi gỡ rối (debug) một chương trình trong môi trường Visual Studio

  1. Hướng dẫn những thao tác cơ bản khi gỡ rối (debug) một chương trình trong môi trường Visual Studio.
  2. Để học được một ngôn ngữ lập trình, đối với những người mới bắt đầu, điều đặc biệt cần thiết là phải biết cách "gỡ rối" (debug) chương trình. Bài viết này sẽ cố gắng giúp những người mới bắt đầu biết cách làm sao để làm điều này một cách hiệu quả trong môi trường Visual Studio. "Chạy" chương trình Có thể hiểu nôm na, một chương trình sẽ chạy bắt đầu từ dòng lệnh đầu tiên sau dấu { của hàm main và sẽ chấm dứt sau khi thực hiện xong lệnh cuối cùng trước dấu } của hàm main. Trong quá trình chạy, có thể có những đoạn đường "thẳng", những đoạn đường "rẽ" (lệnh rẽ nhánh như if, switch), những đoạn đường vòng (lệnh lặp như while, do..while,..), những đoạn đường nhỏ hơn (hàm). Điểm dừng chương trình (breakpoint) Như vậy, để có thể gỡ rối được chương trình, trước tiên phải biết được "đoạn rối" của nó, tức chương trình bị lỗi ở đoạn nào. Visual Studio (cũng như hầu hết các IDE khác) đều cho phép lập trình viên "tạm dừng" chương trình hay cho chương trình "chạy từ từ" tại một số đoạn nào đó. Vị trí mà chúng ta muốn chương trình "tạm dừng" để chúng ta có thể xem cho kỹ "cục rối" như thế nào (để mà gỡ) và có thể cho nó "chạy từ từ" để xem kỹ từng múi rối (xem giá trị các biến và mã xử lý chúng) được gọi là điểm dừng chương trình hay breakpoint. Từ bây giờ sẽ gọi breakpoint cho tiện. Cửa sổ Locals, cửa sổ Watch Hai cửa sổ là nơi mà ta có thể xem giá trị các biến khi ta đang debug chương trình đang. Tuy nhiên, cửa sổ Locals là nơi chứatất cả các biến trong phạm
  3. vi hiện tại còn cửa sổ Watch là nơi ta có thể xem bất kỳ biết nào, biểu thức nào hay xem bất kỳ kiểu nào ta mong muốn. B. Làm việc với Breakpoint Tạo một breakpoint Thực hiện 1 trong 3 cách sau: Cách 1: Di chuyển con nháy đến hàng tương ứng sau đó chọn Debug → Toggle Breakpoint Cách 2: Di chuyển con nháy đến hàng tương ứng sau đó nhấn phím F9 Cách 3: Kích chuột vào cột mốc tại hàng tương ứng Nếu thao tác thành công, tại hàng tương ứng trong cột mốc sẽ có một nút tròn màu đỏ như trong hàng 42 và 48 của hình 1. Hình 1
  4. Hủy một breakpoint Để hủy 1 breakpoint, bạn chỉ việc thực hiện thao tác như khi tạo 1 breakpoint ở trên. Quản lý danh sách breakpoint Bạn có thể mở cửa sổ Breakpoints để quản lý các breakpoint đang có bằng cách: chọn Debug → Windows → Breakpoints (hình 2). Cửa sổ Breakpoints sẽ hiện ra như ở hình 1. Hình 2 Kích hoạt/thôi kích hoạt các breakpoint Trong cửa sổ Breakpoints, ô chọn phía trái của mỗi breakpoint chính là thông tin breakpoint hiện tại có được kích hoạt hay không. Nếu không được kích hoạt thì chương trình sẽ "không dừng" tại breakpoint này (coi như nó không tồn tại). Có thể kích vào ô chọn này để kích hoạt hay thôi kích hoạt các breakpoint. Nếu muốn kích hoạt hay thôi kích hoạt tất cả các breakpoint, kích vào biểu tượng .
  5. Hủy cùng lúc nhiều breakpoint Trong cửa sổ Breakpoints, bạn có thể: Xóa cùng lúc nhiều breakpoint bằng cách đè phím Ctrl và kích chuột  lên các breakpoint tương ứng sau đó kích vào nút . Xóa tất cả các breakpoint bằng cách kích vào nút  Tạo điểm dừng có điều kiện (conditional breakpoint) Thông thường, chương trình sẽ dừng tại hàng nào có đặt breakpoint. Tuy nhiên, nếu hàng này nằm trong một vòng lặp (một hàm đệ quy) và chúng ta lại chỉ muốn chương trình sẽ dừng tại hàng này trong một vòng lặp (hay một lần gọi đệ quy) cụ thể nào đó thì có 2 cách để làm được điều này: Tạo 1 breakpoint tại hàng muốn dừng sau đó cứ nhấn F5 cho đến khi 1. chương trình chạy đến vòng lặp (hay lần gọi đệ quy) mong muốn. Cách này rất mất công, ví dụ nếu ta muốn dừng tại vòng lặp thứ 99 thì phải nhấn F5 ít nhất 98 lần. (tiện lợi hơn) Tạo 1 breakpoint tại hàng muốn dừng sau đó kích phải 2. tại breakpoint này và chọn Condition (hình 3). Cửa sổ Breakpoint Condition xuất hiện (hình 3), sau đó bạn chỉ việc nhập điều kiện vào vùng condition. Như ví dụ trong hình 3, tôi muốn chương trình dừng khi i=5 và j=3.
  6. Hình 3 C. Xem giá trị các biến khi debug Cửa sổ Locals Để mở cửa sổ Locals, bạn nhấn tổ hợp phím Ctrl+D,L (đè phím Ctrl, gõ D sau đó gõ tiếp L) hoặc chọn Debug → Windows →Locals (xem hình 4) Hình 4 Cửa sổ Watch Để mở cửa sổ Locals, bạn nhấn tổ hợp phím Ctrl+D,W (đè phím Ctrl, gõ D sau đó gõ tiếp W) hoặc chọn Debug → Windows →Watch → Watch 1 (xem hình 4). Một chú ý là có đến 4 cửa sổ Watch nên trường hợp có quá
  7. nhiều biến cần theo dõi thì có thể mở tiếp một số cửa sổ Watch còn lại để xem. D. Cho chương trình "chạy từ từ" Chạy từng lệnh Cách tiện nhất để chạy từng lệnh là sử dụng phím nóng. Có hai hình thức chạy từng lệnh: Chạy lướt qua hàm (nhấn phím F10 hoặc chọn Debug → Step Over): 1. nếu dòng hiện tại có lời gọi đến một nào nào đó trong chương trình thì nó sẽ "lướt" qua hàm này, nghĩa là nó sẽ "chạy nhanh" qua chứ không đi vào để chạy từng lệnh trong hàm này. Đi vào hàm (nhấn phím F11 hoặc chọn Debug → Step Into): nếu dòng 2. hiện tại có lời gọi đến một nào nào đó trong chương trình thì nó sẽ đi vào để chạy từng lệnh trong hàm này. Ta dễ thấy rằng, trường hợp dòng hiện tại mà chương trình đang đứng không chứa lời gọi đến một hàm nào khác thì nhấn phímF10 hay F11 là như nhau. Chạy nhanh ra khỏi hàm Trường hợp muốn chạy nhanh ra khỏi hàm mà chương trình đang dừng lại, chỉ đơn giản nhấn tổ hợp phím Shift+F11 (đè phímShift và gõ phím F11) hoặc chọn Debug → Step Out. Dừng chương trình
  8. Khi đang debug chương trình, muốn sửa gì đó trong mã nguồn hay không muốn chạy tiếp nữa thì bạn nhấn Shift+F5 (đè phímShift và gõ phím F5) hoặc chọn Debug → Stop Debugging để dừng chương trình. E. Một số phím nóng cần nhớ bắt đầu "chạy" chương trình chạy từng lệ F5 F10 dừng chương trình chạy từng lệ Shift+F5 F11 tạo/hủy một breakpoint chạy nhanh F9 Shift+F11
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
16=>1