XNA - 进程在调试时意外终止

时间:2012-02-02 10:54:06

标签: c# visual-studio-2010 debugging xna

调试我的XNA项目时遇到了一个奇怪的问题。每当我点击某个断点并开始浏览“Locals”窗口时,整个过程和调试器都会终止,而不会通知原因。触发器可能到达带有红色感叹号的字段,该感叹号显示“功能评估已中止”。

我在我的代码中没有使用显式多线程,因此我很困惑,当它实际上没有运行时,进程如何终止(看似好像它正确到达终点)。

感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

这是因为您的访问器是无限递归的,导致堆栈溢出。

改变这个:

get { return Level; }

对此:

get { return level; }

这实际上是Visual Studio C#中相当普遍的事情,它非常烦人,自动完成功能总是更喜欢成员名称上的访问者名称,即使您在访问者本身内也是如此。我认为,经过5年的努力,微软现在已经修复了它。

编辑:不,我发现你已经在自己的问题中得出了这个结论。我想我应该首先阅读整个事情,我跳了枪。

答案 1 :(得分:0)

好的,我找到了解决方案,因此,对于可能在这个问题上遇到类似问题的人:调试器在尝试评估导致堆栈溢出的属性时挂起,即

protected int level;
    public int Level
    {
        get { return Level; }
    }

正如此处http://netpl.blogspot.com/2009_05_01_archive.html

进一步解释的那样