我怎样才能找到导致空异常的原因?我的意思是代码中的哪一行或哪里抛出了异常?

How can i find what cause a null exception ? I mean what line or where in the code the exception throw?

我是 运行 我的程序,一段时间后它开始工作并抛出这个异常:

我在我的程序中使用了 directx,还在我做的表格顶部使用了 direct3d:

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

我在我的程序中使用 Direct3D.Sprite 并且设备和纹理 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: 

开始时将项目的 Configuration 设为 Debug。目前你在 Release!在您的屏幕截图中,您可以看到 Continue 按钮。之后你应该Debug你的项目。

当您处于调试状态时,您可以看到当您选中 Debug/Exceptions/Common Language Runtime Exceptions 中的复选框时抛出异常的确切行。