Tôi hy vọng ai đó có thể khai sáng cho tôi về những gì có thể gây ra lỗi này:
Đã cố đọc hoặc ghi bộ nhớ được bảo vệ. Đây thường là một dấu hiệu cho thấy bộ nhớ khác bị hỏng.
Tôi thực sự không thể đăng mã vì lỗi này dường như bị ném vào bất kỳ khu vực ngẫu nhiên nào của ứng dụng. Ứng dụng sẽ chạy bất cứ nơi nào từ 12-48 giờ trước khi ném lỗi. Đôi khi, nó sẽ dừng ở một điểm có vẻ ngẫu nhiên và gây ra lỗi ở trên, lần khác toàn bộ ứng dụng dừng lại và tôi nhận được một màn hình có lỗi thông báo "Có lỗi nghiêm trọng trong ... Đây có thể là một lỗi nghiêm trọng lỗi trong CLR hoặc ... "một cái gì đó về PInvoke hoặc thông tin không liên quan khác. Khi điều này xảy ra, tất cả các chủ đề hiển thị bị chấm dứt và không có thông tin gỡ lỗi có sẵn.
Tóm lại, đây là những gì ứng dụng làm:
Đây là một ứng dụng máy chủ đa luồng được viết hoàn toàn bằng C #. Khách hàng kết nối với máy chủ thông qua ổ cắm. Máy chủ chạy một "môi trường" ảo cho các máy khách nơi chúng có thể tương tác với nhau và môi trường. Nó tiêu tốn khá nhiều bộ nhớ nhưng tôi không thấy nó bị rò rỉ. Nó thường tiêu thụ khoảng 1,5 GB. Tôi không nghĩ nó bị rò rỉ vì việc sử dụng bộ nhớ vẫn tương đối ổn định trong toàn bộ thời gian ứng dụng đang chạy. Mã liên tục chạy của nó để duy trì môi trường ngay cả khi khách hàng không làm gì cả. Nó không sử dụng phần mềm của bên thứ 3 hoặc các API khác. Tài nguyên bên ngoài duy nhất mà ứng dụng này sử dụng là kết nối ổ cắm và kết nối cơ sở dữ liệu SQL. Nó chạy trên máy chủ 64 bit. Tôi đã thử gỡ lỗi này trong VS2008 & VS2010 bằng cách sử dụng .net 2.0, 3.5 và 4.
Tôi đã thử tắt tối ưu hóa trình biên dịch và một số bản sửa lỗi nóng microsoft. Dường như không có gì làm cho vấn đề này biến mất. Nó sẽ được đánh giá cao nếu bất cứ ai biết bất kỳ nguyên nhân có thể, hoặc một số cách để xác định những gì gây ra vấn đề.