RSS

Category Archives: Thiết lập

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

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

Nguồn: http://thanhcuong.wordpress.com

 

Nhãn: , , ,

Thiết lập chương trình chạy với quyền Administrator trong C#

Với một số chương trình cần quyền quản trị (Administrator) để chạy khi muốn tương tác sâu đến hệ thống thì việc thiết lập chương trình chạy với quyền quản trị là một điều cần thiết, nhất là khi chương trình chạy trên Windows Vista hoặc Windows 7. Nếu không bạn sẽ gặp thông báo lỗi.

image_thumb23

Và để chạy được chương trình, các bạn cần kích chuột phải và chọn Run as Administrator.

image

 

Vì vậy, để tránh tất cả những rắc rối như trên, chúng ta thiếp lập trực tiếp trong tập tin app.manifest.

Kích chuột phải vào Project chọn Add/New Item…(Hoặc nhấn Ctrl + Shift + A).

Tiếp đó, các bạn tìm và chọn Application Manifest File, giữ nguyên tên tập tin như vậy và kích Add

image

Các bạn chú ý đoạn tô đỏ của tập tin app.manifest.

image

Tại đây chương trình đang được thiết lập với quyền asInvoker (Quyền cơ bản nhất). Có 3 cách thiết lập quyền trong này.

  1. asInvoker: Chương trình chạy với quyền cơ bản nhất của người dùng
  2. requireAdministrator: Chương trình chạy với quyền Administrator
  3. highestAvailable: Chương trình sẽ chạy với quyền hạn cao nhất có thể của người dùng.
    Vì vậy, chúng ta cần thay đổi nội dung đoạn đó thành:
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

    Sau đó lưu lại và chạy thử chương trình, Nếu bạn đang dùng Windows Vista hoặc Windows 7 và UAC vẫn để ở chế độ mặc định, sẽ gặp 1 thông báo như sau.

    image_thumb30
    Nội dung trên thông báo rằng Visual Studio cần khởi động lại để thực thi chương trình với quyền hạn cao hơn. Các bạn kích Restart under different credential để khởi động lại. Và giờ đây chương trình của bạn hoàn toàn đã được thiết lập để chạy với quyền Administrator.
 

Nhãn: , , , , ,