2009-10-20 38 views
9

Một trong các ứng dụng .NET 2.0 của chúng tôi bắt đầu chỉ biến mất ngẫu nhiên. Không có hồ sơ nào trong Nhật ký sự kiện, Dr. Watson không tạo ra sự cố đổ rác, không có gì ...Cách khắc phục sự cố ứng dụng .NET vừa biến mất?

Làm cách nào để gỡ rối ứng dụng này?

+0

Bạn có thực hiện bất kỳ lệnh gọi p/gọi nào không? –

+0

Không trực tiếp. Chúng tôi sử dụng Crystal Reports, có thể thực hiện các cuộc gọi như vậy. Dù sao, ứng dụng làm việc cho một năm mà không có vấn đề. – alex

+0

Bạn có sử dụng bất kỳ thành phần COM nào không? –

Trả lời

5

1) Gắn trình xử lý sự kiện vào AppDomain.UnhandledException sự kiện và ghi lại đối tượng ngoại lệ.

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

2) Đính kèm một handler chủ đề ngoại lệ

Application.ThreadException += 
    new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); 

Đối với WPF và Silverlight ứng dụng bạn sử dụng bộ xử lý ngoại lệ hơn, ví dụ Application.DispatcherUnhandledException và Application.UnhandledException tương ứng, nhưng chúng không quan tâm đến bạn trong trường hợp này. Tôi bao gồm chúng cho đầy đủ.

+1

Nó được xử lý - không có bản ghi nhật ký. – alex

2

Sửa đổi mã để bao gồm các bước đăng nhập sau mỗi phần có liên quan và sau đó kiểm tra tệp nhật ký để xem nơi tệp đang chạy.

Nếu nó thậm chí không bắt đầu, sau đó sẽ cho bạn một cái gì đó quá ...

3

Chúng tôi đã có một vấn đề tương tự. Chúng tôi đã có một sự kiện cho AppDomain.UnhandledException nhưng nó thậm chí còn bỏ qua điều này. Hóa ra là một SystemAccessViolation gây ra khi chúng tôi kiểm tra nội dung clipboard.

Nếu nó tương tự (EG bỏ qua sự kiện AppDomain.UnhandledException) thì tôi khuyên bạn nên ghi lại mọi thứ xung quanh các cuộc gọi dữ liệu giữa các cuộc gọi và dữ liệu từ bên ngoài quy trình và mã của bạn. Chúng tôi mất vài tuần để theo dõi nó và thay đổi một dòng để sửa chữa nó.

Ngoài ra, hãy bật MDA trong VS và chạy chương trình của bạn với nó và xem bạn có gặp lỗi hay không.

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