我正在寻找.NET下缓冲区溢出错误的常见原因。
我知道在托管的.NET代码下缓冲区溢出不可能。但是,在.NET应用程序的范围内仍然可以使用此异常。
我想到的事情 -
调试缓冲区溢出错误的最佳方法是什么?
答案 0 :(得分:2)
从评论到问题:
那么你们如何在.NET下调试缓冲区溢出错误?
大多数时候,首先没有什么可以调试的。我的意思是,当然存在一个bug并且您需要修复它,但是错误不在您的代码中。它在你正在调用的非托管库中,你无法改变。你唯一能做的就是不以那种方式使用那个库。
这是一个常见原因:非托管库中的错误。
如果您调用一个没有错误的非托管库,也会发生这种情况,但是库希望您明确告诉它缓冲区的大小并给出错误的编号。这是您需要修复的代码问题。但是,它很少发生在.Net中,因为查找缓冲区的大小通常与检查字节数组的.Length属性一样简单。