我正在努力追踪一个问题,当我在低内存条件下压力测试我的C#代码时,会发生崩溃。但是,在某些情况下,程序不会抛出OutOfMemoryException,而是会简单地崩溃并退出。这通常是由于缓冲区溢出或堆栈溢出(或损坏)引起的内存损坏。
那么,有没有一种方法可以检查堆的完整性,或者有没有一种方法可以检查线程上还剩多少堆栈?
为了提高速度,我使用了大量的不安全代码,因此很可能我的代码在某处破坏了内存。不幸的是,崩溃发生在损坏之后的随机时间间隔内。我知道C#会在检测到缓冲区溢出时关闭应用程序,但是否有一种强制它进行检查的方法呢?
谢谢。
那么,有没有一种方法可以检查堆的完整性,或者有没有一种方法可以检查线程上还剩多少堆栈?
为了提高速度,我使用了大量的不安全代码,因此很可能我的代码在某处破坏了内存。不幸的是,崩溃发生在损坏之后的随机时间间隔内。我知道C#会在检测到缓冲区溢出时关闭应用程序,但是否有一种强制它进行检查的方法呢?
谢谢。