C# 窗口形成红色x,但我可以';找不到错误通知
我正在使用OpenTK GLControl(一个.Net OpenGL winforms控件)来使用OpenGL绘制一些东西。我现在面临的问题是,我在控件所在的windows窗体上得到了一个大的红十字或x,这完全不可能调试,因为我无法知道错误发生在哪里 我没有看到错误通知/异常。早些时候,我在XNA上遇到了同样的问题,不过我出于其他原因放弃了使用它 也许我遗漏了什么。VisualStudio中是否有一个窗口可以打开并查看这些错误C# 窗口形成红色x,但我可以';找不到错误通知,c#,winforms,opentk,C#,Winforms,Opentk,我正在使用OpenTK GLControl(一个.Net OpenGL winforms控件)来使用OpenGL绘制一些东西。我现在面临的问题是,我在控件所在的windows窗体上得到了一个大的红十字或x,这完全不可能调试,因为我无法知道错误发生在哪里 我没有看到错误通知/异常。早些时候,我在XNA上遇到了同样的问题,不过我出于其他原因放弃了使用它 也许我遗漏了什么。VisualStudio中是否有一个窗口可以打开并查看这些错误 在调试模式下自动打开的窗口是本地窗口和调用堆栈。它们完全是空的。您
在调试模式下自动打开的窗口是本地窗口和调用堆栈。它们完全是空的。您可以尝试打破所有异常-。(Control/Alt+E打开对话框,然后选中公共语言运行时异常复选框) 在调试过程中,它应该在发生错误的地方停止
如果无法通过这种方式找到任何内容,则可以通过捕获整个AppDomain异常或线程异常-详细信息来查看内容。windows窗体设计器中的红色x来自绘制代码中的错误。 要对此进行调试,请执行以下操作:
- 在另一个visual studio实例中打开您的解决方案
- 菜单调试>附加到进程
- 选择devenv.exe
然后将调试您的第一个visual studio实例,您可以在绘制代码中设置断点。我记得我在XNA中遇到的问题,我的代码试图访问数组的负索引。但是调试器中没有出现任何东西。我必须到处键入WriteLine语句才能找到错误。XNA只是显示了一个红色的x。真是个笑话。非常感谢你这么做了!它给了我一些错误,我修正了,现在一切正常。哇,这是一些奇怪的东西。我的代码一直在做的一件事是通过空引用调用类的方法,并使用通过该方法传递的参数更新其中的一些变量。直到我打开你的建议,它抛出了一个NullReferenceException,“对象引用未设置为对象的实例”,这才被捕获。奇怪的是它居然奏效了。