我在编程过程中遇到了“非托管代码已经在StringBuilder缓冲区溢出。进程变的不稳定。在进行封送处理前,未给StringBuilder分配足够的容量。”
客户提供的dll使用的是LPCSTR和LPSTR所以我用C#调用的时候使用的是String和StringBuilder,StringBuilder用来返回错误信息的。
我定义的是一个全局变量,没有给StringBuilder分配初始空间,出现该错误,
解决:
后来我分配初始空间,并且将StringBuilder每调用一次,重新分配一次,不让StringBUilder累计信息,现在没有出现问题
疑虑:
不确定是否能够彻底解决StringBuilder溢出问题,如有高手可以告知,不胜感激。