开发者

System.ObjectDisposedException

开发者 https://www.devze.com 2023-01-23 03:22 出处:网络
I am running some windows application and it\'s working for few days then stop working with no error. Now i found in event viewer this error. Maybe anyone have any idea what can cause this error?

I am running some windows application and it's working for few days then stop working with no error. Now i found in event viewer this error. Maybe anyone have any idea what can cause this error?

Ev开发者_运维知识库ent Type: Error

Event Source: .NET Runtime 2.0 Error Reporting Event

Category: None

Event ID: 5000

Date: 30.10.2010

Time: 21:58:57

User: N/A

Computer: SERVER-PROD

Description: EventType clr20r3, P1 program.exe, P2 1.0.0.0, P3 4cca7ed1, P4 mscorlib, P5 2.0.0.0, P6 4be90358, P7 1164, P8 0, P9 system.objectdisposedexception, P10 NIL.


ObjectDisposedException is:

The exception that is thrown when an operation is performed on a disposed object. (source)

In other words, if an instance of a class that implements the IDisposable interface is disposed -- either explicitly by a call to Dispose() or implicitly, such as if it appears in a using statement or otherwise -- any attempts to call methods on the object will raise the exception above.

As with most debugging problems, it's very difficult to say what is causing yours without actually looking at the code and running it in a debugger. You say that the program crashes with ObjectDisposedException after running for a few days. In my experience, this is usually means one of two things:

  1. There is some very unusual code path which, when taken, always causes a crash
  2. A race condition exists between threads in your program. Thus, the crash appears unpredictably and may be difficult to reproduce

My advice to you is to start the program in the debugger, and leave it running until the exception is thrown. Then you can come back here and provide us with the relevant code, stack trace, debug output, etc.


Something is accessing an object that has been disposed. Often this can happen if you have multi-threading on a form. You start the backgroundworker/thread/timer, and then dispose the form. When the backgroundworker/thread/timer tries to update the form in some way, you get this exception.

0

精彩评论

暂无评论...
验证码 换一张
取 消