我怎样才能找到导致null异常的原因?我的意思是什么行或代码中的异常抛出?

时间:2015-01-30 23:54:24

标签: c# .net winforms directx direct3d

我正在运行我的程序,经过一段时间它正在努力抛出这个异常:

Directx Exception

我在我的程序中使用directx,并在我所做的表单顶部使用direct3d:

using Microsoft.DirectX.Direct3D;
using Microsoft.DirectX;

我在我的程序中使用Direct3D.Sprite和Device以及Texture PresentParameters和DisplayMode都连接到DirectX.Direct3D

在异常消息中,它讲述了OnLostDevice()和其他内容。但它没有给出任何特定的行或代码中的问题所在。

有没有办法找到导致问题的原因?

System.NullReferenceException was unhandled
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=Microsoft.DirectX.Direct3DX
  StackTrace:
       at Microsoft.DirectX.Direct3D.Sprite.OnLostDevice()
       at Microsoft.DirectX.Direct3D.Sprite.OnParentLost(Object sender, EventArgs e)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at Microsoft.DirectX.Direct3D.Device.raise_DeviceLost(Object i1, EventArgs i2)
       at Microsoft.DirectX.Direct3D.Device.Finalize()
  InnerException: 

1 个答案:

答案 0 :(得分:1)

首先,将项目的Configuration设置为Debug。目前你在Release!在屏幕截图中,您可以在Continue按钮中看到它。之后你应该Debug投射。

当您在Debug中时,当您选中Debug/Exceptions/Common Language Runtime Exceptions中的复选框时,可以看到引发异常的确切行。