Hướng dẫn Debug chương trình trong Visual Studio–Visual Studio Debugging Tutorial.

debug

Khi học lập trình có rất nhiều sinh viên rất ít sử dụng đến công cụ Debug của Visual Studio. Khi chương trình gặp lỗi hay cho ra kết quả sai, bạn không biết tại sao và cắm đầu vào đọc lại từng dòng code. Trong khi công cụ Debug của Visual Studio (VS 2010) là một công cụ mạnh để thực hiện việc trên. Do đó chúng ta sẽ tìm hiểu cách sử dụng công cụ này.

Bạn muốn xem một biến cục bộ trong chương trình C# khi nó thực thi thay đổi giá trị như thế nào, điều này rất hữu ích khi bạn muốn đảm bảo các giá trị kết quả của bạn được chính xác. Ở đây chúng ta sẽ tìm hiểu thông qua ví dụ về cách Debug các biến của bạn trong môi trường Visual Studio 2010.

image

1. Debug C# với Visual Studio 2010

Đầu tiên chúng ta nhìn vào một chương trình ngắn viết bằng ngôn ngữ C# có nhiều biến cục bộ trong đó. Để xem bên trong một hàm bạn cần sử dụng một Break Point(Điểm dừng) ở một nơi trong khối lệnh C# mà bạn có. Ví dụ tôi sẽ sử dụng Chương trình đơn giản  là:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Debugging
{
    class Program
    {
        static void Main(string[] args)
        {
            int a;
            int b;
            a = b = 10;
            int c = 90;
            String s = "Hello Thanh Cuong!";
            Console.WriteLine(" a + b + c = {0}", a + b + c);
            Console.WriteLine(s);
        }
    }
}

2. Add Debugging BreakPoint

Ở đây tôi sẽ thêm một Breackpoint vào đầu chương trình ở trên. Trên bên trái của tab mã nguồn bạn nhấp chuột vào dòng muốn debug hoặc đưa con nháy tới dòng muốn debug và nhấn F9 sẽ thấy một dấu hình tròn màu xám trước dòng đó. Như hình bên dưới. Nhấn F5 để chạy chương trình, khi chương trình chạy đến dòng lệnh  mà bạn đặt breakpoint nó sẽ dừng lại và chương trình debug sẽ được mở ra.

image

3. Khi Debugger được mở:

Khi bạn thiết lập Breakpoint (vòng tròn nhỏ màu xám) trên mã lệnh của bạn, công cụ debug sẽ mở ra khi chương trình chạy tới điểm mà bạn đặt BreakPoint. Chương trình sẽ tạm dừng ở đó. Để bạn có thể sử dụng để kiểm tra các biến mà mình nghi ngờ là chương trình có thể chạy sai ở đó.

4. Bắt đầu Debug

Để bắt đầu Debug bạn nhấp chuột vào nút có mũi tên màu xanh ở thanh công cụ trong Visual Studio của bạn hoặc nhấn F5 như hình bên dưới

image

5. Chờ chương trình chạy đến BreakPoint

Khi chương trình thực thi đến Breackpoint mà bạn đã đánh dấu thì dòng đó sẽ chuyển sang màu vàng như hình bên dưới.

image

Bây giờ bạn có thể kiểm tra các biến cục bộ của chương trình bằng cách vào menu Debug –> Windows –> Locals (hoặc ấn Alt F4 )

image

6. Sử dụng tính năng locals để xem giá trị của các biến cục bộ

image

Bây giờ bạn có thể thấy các biến cục bộ trong chương trình của mình và giá trị của nó khi chương trình chạy đến đó. Bạn có thể sử dụng chức năng này để biết được mỗi giá trị thay đổi như thế nào khi chương trình chạy đến đó.

7. Step over statements

Trong phần này, chúng ta sẽ tìm hiểu cách lựa chọn trong visual studio debugger. Thông thường trong chương trình Debug bạn muốn tiến một bước , bạn nhấn vào nút màu xanh ở thanh công cụ để đến điểm breakpoint tiếp theo.

– Step into (F11): Step into thực thi chỉ gọi chính nó, sau đó dừng ở dòng đầu tiên của mã lệnh trong hàm.

– Step over (F10): Di chuyển đến bước kế tiếp trong mã của bạn, nhưng không dừng bên trong mỗi phương thức.

– Step out: bỏ qua phần còn lại của các phương thức hiện hành và đi vào các phương thức được gọi.

image

Các bước thực hiện trong ví dụ này, tôi sử dụng step over (F10), điều này cho phép chúng ta xem giá trị của tất của tất cả các biến.

8. Thông tin thêm

Công cụ Debug của visual 2010 là khá toàn diện và hiệu quả cho hầu hết các vấn đề. Nó bao gồm nhiều sự lựa chọn hơn, bao gồm: Call Stack, Command Windows, Exception, Autos. Bạn có thể cấu hình các breakpoint chỉ đơn giản là viết một thông điệp trong console… Điều này rất tốt để thử nghiệm hiệu suất.

9.  Nếu các công cụ khác không có trình Debug bạn nên làm gì?

Khi sử dụng các trình biên dịch không có công cụ Debug hoặc công cụ debug yếu. Bạn có thể sử dụng các lệnh để in kết quả của các biến ra màn hình để kiểm tra việc hoạt động của các biến đó. Tuy cách này hơi lâu hơn công cụ Debug của Visual Studio nhưng nó cũng khá hiệu quả trong việc kiểm tra và theo dõi các biến.

Bài viết tiếp theo sẽ trình bày các mẹo khác khi debug chương trình.

Bài viết được tham khảo tại dotnetperls.com/debugging

Advertisements

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in Tips Progamming. Bookmark the permalink.

12 Responses to Hướng dẫn Debug chương trình trong Visual Studio–Visual Studio Debugging Tutorial.

  1. Nguyen says:

    Error 1 error LNK1104: cannot open file ‘D:\bai6\Debug\bai6.exe’
    luc em bien dich no bi loi nhu vay, em khong biet khac phuc lam sao. Ban kia co bo la: “co the do debug, tat no di la xong hoac tat VS di roi mo lai”. Giup em voi!

    • Lỗi này là do khi sử dụng Windows 7 visual của em được cài trong C:\Program files nhưng những thao tác với file .exe như tạo mới hay xóa thì chương trình phải chạy với quyền Admin.
      Để khắc phục lỗi này có 2 cách:
      – Tạo project trong ổ đĩa khác.
      – Chạy chương trình visual studio với quyền Admin.

    • Triết says:

      Mình đã từng gặp trường hợp như bạn, nếu bạn có cài đặt chương trình Tune-Up thì chỉnh sửa bằng cách vào ô run của Windows (Window + R) gõ services.msc, ở tab Application Experiences bạn chọn chế độ Manual sẽ được :)) hy vọng có thể giúp ích cho bạn

  2. Pingback: Sử dụng công cụ lập trình Debug « Huong Giang's Blog

  3. thien says:

    khi debug thì có cách nào cho nó chạy qua vòng lặp nhah không. chứ khi đến vòng lặp mà chạy vòng vòng như vậy thì lâu quá.

  4. buituoi says:

    bạn ơi cho mình hỏi cách debug trong DEV C++ với??? thanks

  5. Bạn sửa lại bài biết kìa, mở local sau lại là Alt + F4 chứ !

  6. Sieus says:

    Cho mình hỏi trong một project C++ gồm các file .h và .cpp vậy làm sao debug trong file .h vậy ?

  7. lê bá ngữ says:

    bạn ơi sao mình viết ct xong rồi bấm f5 mà ko thấy màn hình đen hiện lên nơi 😦

  8. koyhl says:

    bạn ơi cho mình hỏi chút nếu muốn biến click button để hiện kết quả thay bằng cách điền thông tin xong ấn enter thay cho click vào button k?

  9. tuấn anh says:

    :)) ko biết bạn viết nhầm hay thật sao lại alt f4 , làm mình làm theo :v

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s