2008-11-17 34 views
6

Tôi có ứng dụng .net 3.5. WinForms chạy tốt trên máy tính của tôi, nhưng trên một máy khác, nó ngay lập tức gặp sự cố với system.io.fileloadexception. Thật không may, hoàn toàn không có chi tiết về tệp nào không tải được, vì vậy tôi không biết vấn đề thực sự ở đâu.Xử lý sự cố hệ thống.io.fileloadexception

Tôi tin rằng tôi biết cái nào có thể là (phiên bản SQL Server Compact), nhưng trước khi tôi săn lùng, tôi tự hỏi liệu có cách nào thích hợp để tìm ra nguyên nhân gây ra hiện tượng tải dữ liệu không, ngoài việc sử dụng FileMon từ SysInternals.

Thông báo lỗi duy nhất là:

eventType clr20r3, P1 myapplication.exe, P2 2.1.0.0, P3 490eca78, P4 myapplication, P5 2.1.0.0, P6 490eca78, P7 2e, P8 21, P9 system.io.fileloadexception, P10 NIL.

Trả lời

13

Bật fusion logging?

This blog entry từ Brad Wilson cung cấp thông tin về những việc cần làm nếu thất bại ...

+1

Tôi hoàn toàn bỏ lỡ trình ghi nhật ký tổng hợp đó. Nó giải quyết vấn đề của tôi trong vòng vài phút vì các bản ghi thực sự hữu ích. FUSLOGVW.exe chỉ có thể được sao chép vào máy (không cần .net SDK) và có thể thiết lập cài đặt ghi nhật ký thông qua nó. Ma thuật. Cảm ơn! –

+0

Cảm ơn, tôi đã nhận được cùng một ngoại lệ như Michael, logger đã giúp tôi giải quyết vấn đề trong vài phút! –

6

Bạn có thể cố gắng làm cho phương pháp Main() của bạn mạnh mẽ hơn để bắt (và hiển thị) ngoại trừ ... like so.

Thường xuyên, vấn đề là quá nhiều mã được đưa vào phương pháp ngoài cùng Main(). JIT phải có khả năng hiểu đầy đủ Main(), nếu không không có mã nào của bạn có thể chạy. Bằng cách làm cho Main() đơn giản hơn, bạn có cơ hội. Trong ví dụ được liên kết, nếu MainCore() không thành công: tốt, chúng tôi vẫn có thể bắt ngoại lệ trong Main().

Điều này hoạt động vì JIT được thực hiện theo phương pháp từng phương pháp ... tức là MainCore() không phải là JITted cho đến khi được gọi, lúc đó chúng tôi đã thử/bắt đầu.

1

Lấy SDK công cụ gỡ lỗi của Microsoft và sử dụng windbg hoặc cordbg để đính kèm và chạy ứng dụng của bạn. Điều này sẽ cung cấp cho bạn ít nhất một đầu mối mà vấn đề là, nếu không xác định được vấn đề.

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