2012-06-14 36 views
8

Tôi thường trong nhu cầu gỡ lỗi/kiểm tra mã của tôi hoặc một phần nhỏ của nó.Gỡ lỗi mã C# mà không cần chạy ứng dụng

Một cách để đi là tất nhiên để chạy ứng dụng tôi đang phát triển hoặc khi phát triển một thư viện lớp tạo một ứng dụng thử nghiệm nhỏ.

Cách khác là tạo thử nghiệm đơn vị chỉ nhằm mục đích gỡ lỗi và chạy nó trong Visual Studio. Nhưng nếu tôi không muốn viết mã bổ sung (như thử nghiệm đơn vị dùng một lần) và tôi không muốn bắt đầu toàn bộ ứng dụng (mất một thời gian để bắt đầu và điều hướng đến mã mà tôi muốn gỡ lỗi), điều gì sẽ xảy ra?)?

Có cách nào để chạy một phần nhỏ mã trong Visual Stuio tương ứng giải thích mã C# không?

EDIT

tôi biết về LINQPad.

Nhưng đôi khi tôi muốn biết ví dụ: làm thế nào một Form trông giống như trong khi chạy hoặc nếu một thành phần có thể nói chuyện với một cơ sở dữ liệu. Vì vậy LINQPad không phù hợp với nhu cầu của tôi trong những trường hợp đó ...

+1

Điều này có thể phức tạp nếu mã phụ thuộc vào mã khác. Đối với các mảnh độc lập thực sự nhỏ, tại sao không tạo ra một dự án dòng lệnh từ đầu và sao chép và dán mã ở đó? – Vlad

+0

Bạn có thể sử dụng tùy chọn QuickWatch trong studio trực quan. Nếu bạn muốn kiểm tra một vài câu lệnh khác nhau trong cùng một mã, hãy đặt điểm ngắt ở vị trí và mở cửa sổ đồng hồ bấm giờ. bạn có thể tìm thấy kết quả của câu lệnh bằng cách viết nó trên cửa sổ đồng hồ bấm giờ. –

+0

Đó là một dự án riêng biệt? hoặc một phần trong toàn bộ dự án? – crassr3cords

Trả lời

8

Tôi sử dụng linqpad http://www.linqpad.net/ để kiểm tra nhanh mã C#.

+0

Tôi chỉ sử dụng nó để thực hiện một số thao tác chuỗi nghiêm trọng mà có thể đã lấy một tuổi để có được trong ứng dụng của tôi - đó là awsome! – MoonKnight

+1

Phiên bản miễn phí không bao gồm intellisense, nhưng nếu bạn đang sao chép mã ra khỏi VS nó không nên quan trọng .. Tuy nhiên giá trị của nó mỗi xu cho phiên bản đầy đủ :) (không liên kết, chỉ là một khách hàng hạnh phúc) – Jake1164

+0

Yeah, tôi biết và sử dụng linqpad. Nhưng bạn không thể, ví dụhiển thị một 'Windows.Form' cho mục đích gỡ lỗi ... –

2

Hãy xem LINQPad. Đó là siêu để thử các đoạn mã. Không được đặt theo tên, nó có hỗ trợ cho các chương trình và biểu thức C#/F #.

3

Tùy chọn khác là tải xuống phiên bản Roslyn community preview mới nhất và có tại số C# Interactive Window. Đó là phần mềm tiền phát hành, do đó, nó không hỗ trợ toàn bộ tính năng C#, nhưng nó nhận được khá gần.

2

Một tùy chọn khác để kiểm tra nhanh là Scratchpad.cs. Thường thì tốt hơn là tạo các dự án dòng lệnh chỉ để thử một ý tưởng.

2

Hãy xem F# interpreter.

Tôi sử dụng quy tắc này để kiểm tra các mẫu mã nhỏ.

Hãy nói rằng bạn có một số mã như thế này:

namespace ConsoleApplication5 
{ 
    public class Test 
    { 
     public Int32 Sum(int a, int b) 
     { 
      return a + b; 
     } 
    } 
    ... 
} 

cháy lên cửa sổ F # Interactive, thêm một referece để lắp ráp của bạn, và bắt đầu gỡ lỗi!

> #I @"C:\PathToYourProject\bin\debug";; 
--> Added .... to library include path 
> #r "ConsoleApplication5.exe";; 
--> Referenced ... 
> let t = ConsoleApplication5.Test();; 
val t : ConsoleApplication5.Test 
> t.Sum(9, 7);; 
val it : int = 16 
> 
+0

Có vẻ đầy hứa hẹn .... –

+0

Ha, điều này hoạt động khá tốt! Tôi đã thực hiện một bài kiểm tra nhanh với Biểu mẫu được tạo động/dân cư mà tôi hiện đang gỡ lỗi và nó đã hoạt động! –

Các vấn đề liên quan