这个问题很奇葩也很怪异,我在本机中使用Console和但网页的测试程序都是经过了的,可是通过同事测试下,一直抛出异常 StackOverflowException,这个异常的解释是调用的动态库中可能存在无限循环,或者是函数嵌套太多。c#
这个问题调试了一天,也困扰了我一天,dll自己的函数逻辑是没有问题的,最后在c#中开启了一个线程且合理的分配了堆的大小,函数经过了。这个问题也算是解决了一半吧,不知道哪位大神能来详细解释一番。
函数
相似于下面的代码:测试
改以前线程
var r = your_class_name.function_name(var1, var2,...);
改以后: Thread thread = new Thread(() => { var r = your_class_name.function_name(var1, var2,...); }, 合理的大小); thread.Start(); thread.Join();