2014-11-06 36 views
7

Tôi đang cố gắng gỡ lỗi chương trình C# /. Net trong Visual Studio 2010 nhưng thời gian nhạy cảm để các điểm ngắt gây rối nó. Vì vậy, tôi chỉ muốn đăng nhập một số sự kiện và thời gian tương đối của họ và xem chúng khi chương trình của tôi đang chạy.Visual Studio gỡ lỗi đăng nhập (như logcat trong Android)?

Visual Studio (hoặc C# hoặc .Net) có bất kỳ cơ sở nào để ghi vào tệp nhật ký mà Visual Studio có thể hiển thị dưới dạng cửa sổ gỡ lỗi không?

Khi tôi làm phát triển Android trong Eclipse tôi có thể tận dụng lợi thế của lớp Log của họ và chèn đường trông như thế này trong mã của tôi:

Log.d("Label1", "Hit checkpoint X"); 

Và họ sẽ xuất hiện cùng với tem thời gian/ngày trong LogCat cửa sổ được hiển thị cùng với các cửa sổ khác trong Eclipse.

tương đương gần đây trong Visual Studio 2010 là gì?

+0

bạn có đồng hồ nhanh chóng có trong visual studio –

Trả lời

6

Bạn có thể đặt một breakpoint mà không thực sự phá vỡ, nhưng kết quả đầu ra một thông điệp đăng nhập để thay thế. Chỉ cần đặt điểm ngắt, sau đó nhấp chuột phải vào điểm ngắt và chọn "Khi nhấn ...".

Từ hộp thoại chọn "In một thông báo" và "tiếp tục thực hiện"

Dialog screenshot

+0

Nơi nào các thông điệp xuất hiện? – user316117

+0

Trong cửa sổ Output (View -> Output) – heavyd

+0

Có cách nào để nhúng hoặc hiển thị nội dung của các biến cục bộ trong tin nhắn không? – user316117

2

Không có thực sự bất cứ điều gì được xây dựng trong giống hệt như logcat, nhưng có rất nhiều khuôn khổ khai thác gỗ mà bạn có thể sử dụng .

Cá nhân, tôi thích sử dụng NLog và thiết lập mục tiêu UDP để truy tìm/gỡ lỗi trong tệp cấu hình của tôi cùng với quy tắc chuyển tiếp tất cả nhật ký đến đích. Tôi nghĩ rằng NLog dễ sử dụng hơn Log4Net (cổng .NET của Log4j). Khi bạn làm điều này bạn có thể tạo một logger từ người quản lý và gọi logger giống như LogCat trong android:

Logger logger = LogManager.GetLogger("MyClassTag"); 

logger.Trace("Something to log"); 
logger.Debug("Something to log"); 
logger.Info("Something to log"); 
logger.Warn("Something to log"); 
logger.Error("Something bad to log", exception); 
logger.Fatal("Something bad to log", exception); 

Để nghe các gói logging UDP tôi sử dụng Log2Console cho phép tôi để xem chúng giống như xem logcat android của .

+0

Hãy cho tôi biết nếu bạn cần trợ giúp thiết lập việc này. Nó khá đơn giản một khi bạn nhận được nó, nhưng nó có một chút của một đường cong học tập. – JNYRanger

+0

Điều này có vẻ như rất nhiều công việc và chi phí bổ sung, phải sử dụng các công cụ của bên thứ ba và đưa các công cụ vào tệp cấu hình. Tôi ngạc nhiên rằng một môi trường phát triển trưởng thành như Visual Studio và .Net không có khả năng này được tích hợp sẵn. Câu trả lời của heavyd là một chút gần gũi hơn với những gì tôi cần nhưng tôi đã cho bạn một +1 cho nỗ lực của bạn. – user316117

+0

@ user316117 Vâng, có một chút ngạc nhiên và tôi không phải là một fan hâm mộ lớn của phương pháp trong câu trả lời của heavyd chỉ vì giới hạn của nó. Tuy nhiên, tôi hoàn toàn thấy quan điểm của bạn rằng nó có thể được coi là một chút nặng tay, nhưng dấu chân của nó không phải là quá xấu. Đây là một khung công tác rất dễ sử dụng khi bạn thiết lập một tệp cấu hình đơn (chỉ một chút xml) cho phép bạn thực hiện chính xác những gì bạn làm với Logcat. – JNYRanger

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