c# - Third-party dll crashes program with no exception thrown -


I am using Visual Studio 2010, and coding in C # I have a third party DLL which I I am using the project. When I try to use a specific method, it appears that in random occasions, the program only crashes, in which no exception is thrown. Session only ends, is there any way I can see what is happening?

The way in which stack has been placed for a thread in Windows (almost, all this There is not a precise description of something that gives you, just not enough to give you enough, and in the way the CLR stacks handle the pages, it is somewhat different from how unmanaged code handles.)

At the top of the stack are all the committed pages you are using. Then there is a "guard page" - if you press that page the guard page becomes a new page stack, and the following page becomes a new guard page, however, the final page of the stack It's special. If you hit it once, you get stack overflow exception. If you press twice , then the process is terminated immediately . "Immediate" I mean "immediately" - no exception, go straight to jail, do not let it, do not deposit $ 200. Due to the reasons for the operating system, this process is having a deeper disease and it has become actively hostile for the user, the stack has overflowed and code with stack overflilling is arbitrarily in memory Trash can be trying to write. (*)

Since this process is at risk for itself and others, the operating system takes it down without permission to run more code.

My suspicion is that your unmanaged code is killing the last stack page twice. Almost every time I feel that a process suddenly disappears with exceptions or other explanations because "Do not mess with me" stack page was hit.

(*) I worked on the database in the early 1990s Drivers for a small operating system called NetWire did not have any security that would have been more frequent with more modern operating systems Are there. While running at the kernel protection level, I should be able to dynamically "switch stack"; I knew that when my driver accidentally stacked it, because it would eventually write to the screen memory and then I can see what the garbage is written on the screen and seeing it can debug the problem. Ah, these were the days.


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -