Tôi biết tôi đang mở bản thân mình bằng cách yêu cầu điều này, nhưng tôi nghĩ tôi sẽ xem liệu StackOverflow có bất kỳ giải pháp nào cho vấn đề mà tôi gặp phải không ...Xử lý các ứng dụng thô lỗ trong .NET
Tôi có một ứng dụng C# không hoạt động tại một trang web của khách hàng theo cách mà tôi không thể tái tạo tại địa phương. Thật không may, nó là rất khó (không thể) đối với tôi để có được bất kỳ thông tin mà ở tất cả giúp trong việc cô lập nguồn gốc của vấn đề.
Tôi có sẵn một khuôn khổ giám sát lỗi khá rộng mà đang theo dõi cho trường hợp ngoại lệ unhandled trong tất cả các vị trí thông thường:
- quay ngược xử lý ngoại lệ trong đề kiểm soát
- Application.ThreadException cho WinForms ngoại lệ
- AppDomain.CurrentDomain.UnhandledException
Bản ghi chi tiết thông tin ở nơi tôi có quyền truy cập vào chúng.
Điều này đã rất hữu ích trong quá khứ để xác định các vấn đề trong mã sản xuất, nhưng đã không cho tôi bất kỳ thông tin nào về chuỗi sự cố hiện tại. Dự đoán tốt nhất của tôi là vấn đề cốt lõi là một trong những loại ngoại lệ "thô lỗ" (hủy bỏ chủ đề, hết bộ nhớ, tràn ngăn xếp, vi phạm truy cập, v.v.) đang leo thang đến một sự tắt máy thô lỗ đang rớt xuống quá trình trước khi tôi có cơ hội để xem những gì đang diễn ra.
Có bất kỳ điều gì mà tôi có thể thực hiện để chụp nhanh thông tin khi quy trình của tôi gặp sự cố sẽ hữu ích không? Lý tưởng nhất, tôi sẽ có thể viết ra định dạng đăng nhập tùy chỉnh của tôi, nhưng tôi sẽ rất vui nếu tôi có thể có một cách đáng tin cậy để đảm bảo rằng một bãi chứa sự cố được viết ở đâu đó. Tôi đã hy vọng rằng tôi có thể thực hiện lớp bắt nguồn từ CriticalFinalizerObject và có nó nhổ một lỗi cơ hội cuối cùng đăng xuất khi nó được xử lý, nhưng điều đó dường như không được kích hoạt trong kịch bản StackOverflow mà tôi đã thử nghiệm.
Tôi không thể sử dụng Báo cáo lỗi và bạn bè của Windows do thiếu chứng chỉ ký mã.
Tôi không cố gắng "phục hồi" từ các ngoại lệ tùy ý, tôi chỉ đang cố gắng ghi lại những gì đã xảy ra trên đường xuống.
Bất kỳ ý tưởng nào?
Đó là một tốt câu hỏi. Ngọn lửa chủ yếu hướng đến mã 'try-catch-pretend-it's-OK'. Việc tắt và báo cáo lỗi một cách duyên dáng là lý do hoàn toàn có thể chấp nhận để đăng ký các trình xử lý ngoại lệ toàn cục. – Aaronaught