在调试我的应用程序时,我收到错误为“无法计算表达式,因为当前线程处于堆栈溢出状态。”。我已经google搜索此错误但无法找到错误发生的代码。但在我的情况下,它没有显示错误被卡住的位置。
它显示了这样的图片:
任何人都可以建议我可以采取的任何进一步措施来深入了解这种溢出的来源。我在我的应用程序中完成了编码部分。但遗憾的是无法调试。任何想法都会非常感激......
刚才我注意到我有一些只有代码但没有设计的文件(.cs)。这会导致这样的stackoverflow异常吗?
答案 0 :(得分:5)
我猜你的代码中有这样的东西:
private T field;
public T Field
{
get
{
return Field; // note the capital F, causing recursion and eventually a StackOverflowExcpetion
}
}
答案 1 :(得分:2)
StackOverflowException
是一个无法恢复的错误。您无法在此时评估任何内容,但当前线程的调用堆栈可能会清楚地指出原因。
检查调用堆栈并适当修改代码 - 最有可能的是,你有一个无限递归(或者你有自引用标记/ xml /类似,导致.NET库无限递归)。
答案 2 :(得分:1)
它不是任何具有递归函数或条件..我在我的应用程序中同时调用多个对象,这导致StackOverflowException ..我在我的程序中做了一些修改。现在它工作正常..谢谢你们得到你的支持......