【发布时间】:2016-08-03 11:53:10
【问题描述】:
几年前有一个用 VS2010 编写的 webservice 项目,问题是所有代码完全相同(相同的 PC,用相同的代码测试 vs2010 和 2015)但在 vs2015 中它在调试模式下出错。选项>“项目和解决方案”设置都是一样的。我接受了这个错误和它的定义;
System.Runtime.Serialization.dll 中出现“System.StackOverflowException”类型的未处理异常
System.StackOverflowException 未处理 消息:mscorlib.dll 中发生了“System.StackOverflowException”类型的未处理异常
任何人都知道它,我很高兴关注。我无法共享代码,因为它有将近 30.000 行。
【问题讨论】:
-
我们怎么可能在没有看到被抛出的代码的情况下弄清楚发生了什么?特别是发生异常的那一行?您是否尝试过调试它以观察导致异常的行为?
-
我尝试多次评论或删除 30.000 行的不同部分,但每次都会弹出相同的错误。当我启动 Debug 时,不对函数做任何事情,它给出了错误
-
所以设置它在异常上中断,然后看调用堆栈...
-
btw stackoverflow 异常不指向一条线。它指向 dll 文件
-
当您在 Visual Studio 中遇到异常时,您可以通过转到“调试 > 异常”并检查“公共语言运行时异常”旁边的“抛出”来将其设置为中断异常。它将在 SO 异常发生的那一行中断,然后只需查看调用堆栈即可查看一遍又一遍地调用了哪些方法。
标签: c# web-services visual-studio-2010 visual-studio-2015 stack-overflow