Ngắn của việc sử dụng hồ sơ, có cách nào bên trong chương trình đang chạy để phát hiện ngoại lệ cơ hội đầu tiên không? Lý tưởng nhất, tôi muốn ghi lại thông tin trạng thái chi tiết hơn mà không có sẵn khi khối catch đã thực hiện trên ngoại lệ cuối cùng.Có cách nào để đăng nhập hoặc chặn Ngoại lệ Cơ hội Đầu tiên
Trả lời
Tôi nghĩ cách duy nhất để bạn có thể lấy thông tin đó trong .NET là sử dụng Trình gỡ lỗi.
Nếu không, bạn sẽ phải tự mình phát triển giải pháp để lưu trạng thái của ngăn xếp và có cách đặc biệt để ghi lại ngoại lệ. Về cơ bản bạn sẽ làm những điều tương tự như một trình thông tin bộ nhớ, theo dõi các cá thể được tạo ra. Đây sẽ là một hit hiệu suất rất lớn mặc dù trừ khi bạn giới hạn số lượng thông tin bạn đang đăng nhập.
Giải pháp tốt hơn là sử dụng các khả năng Trace và Assert trong không gian tên System.Diagnostics để theo dõi có chọn lọc trạng thái chương trình hoặc sử dụng tiện ích ghi nhật ký (log4net, EnterpriseLibrary, NLog, cuộn đơn giản của riêng bạn) thread/stack/biến thông tin như bạn đi.
Trong mọi trường hợp, việc thêm tất cả thông tin bổ sung này là chi phí lớn.
EDIT: Tôi nhận được tin tức về dự án này trong nguồn cấp dữ liệu của tôi: NTrace. Có vẻ như nó sẽ phù hợp hơn một chút so với những gì bạn đang cố gắng làm.
Sử dụng Adplus. Nó sẽ đính kèm một trình gỡ lỗi vào proccess, và tạo (theo mặc định) một minidump nhỏ khi cơ hội đầu tiên excpetion được nâng lên. Tệp nhật ký do Adplus tạo cũng sẽ chứa thông tin ngoại lệ. Chỉ cần chắc chắn rằng bạn có PDB của aviable để xem thông tin calstack đầy đủ.
Tôi đã googling FirstChanceException, và tôi không thể cưỡng lại việc trả lời điều này hơn hai năm sau ...
Bây giờ, trong .net 4.0, bạn có thể bắt FirstChanceException event của AppDomain. Đó là một sự kiện duy nhất, vì vậy bạn không thể xử lý lỗi, nhưng nó có vẻ là một cách tốt, trung tâm để có được thông tin về ngoại lệ cho dù chúng được xử lý hay không. Sự kiện FirstChanceException được ném trước khi một khối catch được phép xử lý nó. Tôi đã không tìm thấy nhiều thông tin về nó, nhưng ngoài tài liệu microsoft, một trong những nguồn tốt hơn là Mitch Sellers Blog.
Tôi ước có một cách để làm điều này trong .net 3.5. Tôi có một quá trình 3.5 trong sản xuất và một cái gì đó như 'FirstChanceException' trong 3,5 có thể giúp tôi theo dõi một vấn đề ngắt kết nối ... –
- 1. Ngoại lệ cơ hội đầu tiên
- 2. Nhận số dòng ngoại lệ cơ hội đầu tiên
- 3. .NET - Trình nghe ngoại lệ cơ hội đầu tiên để gỡ lỗi chuyên sâu?
- 4. Khi nào cần đăng nhập ngoại lệ?
- 5. Làm cách nào để tôi có thể đặt Visual Studio hiển thị theo dõi ngăn xếp cho các ngoại lệ cơ hội đầu tiên?
- 6. Làm thế nào để đăng nhập ngoại lệ trong JavaScript
- 7. Làm cách nào để kích hoạt Visual Studio 2010 để ngắt khi có ngoại lệ cơ hội đầu tiên xảy ra?
- 8. đăng nhập đầu tiên 10 trong git
- 9. Xử lý ngoại lệ ASP.NET/Đăng nhập
- 10. Để đăng nhập hoặc không đăng nhập?
- 11. "Ngoại lệ cơ hội đầu tiên của loại 'System.BadImageFormatException'" sau khi xây dựng trên máy tính 64 bit
- 12. Elmah không đăng nhập ngoại lệ
- 13. Làm cách nào để đăng nhập ngoại lệ không bị bắt buộc trong PHP?
- 14. Làm cách nào để định cấu hình mục tiêu NLog thành chỉ đăng nhập ngoại lệ?
- 15. Làm thế nào để có được dấu vết Stack khi đăng nhập ngoại lệ với NLog?
- 16. Làm cách nào để bạn chặn tất cả Ngoại lệ?
- 17. Ngăn chặn ngoại lệ
- 18. C++: Làm thế nào tôi có thể giải quyết ngoại lệ cơ hội đầu tiên gây ra tại một điểm không xác định?
- 19. Làm cách nào để chặn ngoại lệ bế tắc kênh?
- 20. Có một phím tắt trong Visual Studio để chuyển đổi ngắt trên tất cả các ngoại lệ CLR, cơ hội đầu tiên?
- 21. Làm cách nào để tôi tăng lại ngoại lệ Delphi sau khi đăng nhập?
- 22. Làm cách nào để yêu cầu NLog đăng nhập ngoại lệ?
- 23. Mã EF Đầu tiên - tạo cơ sở dữ liệu - Đăng nhập thất bại cho người dùng
- 24. "Đăng nhập" hoặc "Đăng nhập" hoặc "Đăng nhập"
- 25. Làm cách nào để nhập ngoại lệ Django DoesNotExist?
- 26. Rethrow UncaughtExceptionHandler Ngoại lệ sau khi đăng nhập
- 27. Khi nào thì hibernate sử dụng cache cấp đầu tiên? làm thế nào để đăng nhập?
- 28. Mule ngăn chặn ghi ngoại lệ chiến lược bắt ngoại trừ
- 29. Làm thế nào để đăng nhập ngoại lệ unhandled trong ASP.NET MVC?
- 30. Ngoại lệ khi nhấn lại vào đăng nhập facebook
Bạn mất thông tin gì? – pipTheGeek
Vui lòng sửa lỗi: Nếu bạn không xử lý tất cả ngoại lệ trong mỗi phương thức và đảm bảo tất cả các biến được xác định bên ngoài khối try-catch thì tại thời điểm ngoại lệ cuối cùng được nâng lên, bạn sẽ không có quyền truy cập vào tất cả các biến đã có sẵn trong ngữ cảnh thực thi của ngoại lệ ban đầu. –