2013-05-24 31 views
6

Tôi gặp sự cố khi gỡ lỗi thời gian thực của dịch vụ Windows trên máy từ xa. Máy này nằm sau tường lửa chỉ có thể truy cập được thông qua máy tính từ xa. Tôi bao gồm các câu lệnh Debug.WriteLine thông qua mã của tôi, thay cho Console.WriteLine. Cách đây không lâu, tôi đã chạy qua một ứng dụng từ Microsoft có tên là Debug View. Nó đã được hữu ích trong việc gỡ lỗi các ứng dụng Biểu mẫu và WPF nhưng nó sẽ không hiển thị các câu lệnh Debug.WriteLine cho một dịch vụ đang chạy. Tôi sẽ vô cùng hạnh phúc nếu tôi có thể thấy các câu lệnh gỡ lỗi này. Có cách nào để làm việc này không?Sử dụng Chế độ xem gỡ lỗi với Dịch vụ Windows

Lưu ý, dự án được biên dịch trong chế độ gỡ lỗi vì tôi có thể thấy các câu lệnh gỡ rối trong Chế độ xem gỡ lỗi trong khi cài đặt dịch vụ.

+0

Bạn đã sử dụng 'Debugger.Launch()' trong dịch vụ cửa sổ – Saravanan

+0

Bạn đã cân nhắc sử dụng khung đăng nhập như log4net – aquaraga

+0

Không, tôi đã tạo nhật ký ghi vào tệp. Tôi sẽ phải xem xét log4net. – JMooney

Trả lời

9

Chạy Debug View làm Administrator, chọn menu Capture, sau đó đảm bảo rằng Capture Global Win32 được chọn. Điều đó sẽ bắt giữ Debug.WriteLine đầu ra từ dịch vụ của bạn (và bất kỳ dịch vụ nào khác). Bạn có thể muốn sử dụng một bộ lọc để ngăn chặn Debug View hiển thị đầu ra mà bạn không quan tâm. Hãy xem xét tiền tố các thông báo gỡ lỗi dịch vụ với tên dịch vụ của bạn để bạn có thể lọc chúng.

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