私はXNAアプリケーションを持っています。特定のラップトップ(dell、Win 7 64bit)で実行するとクラッシュします。
数分後にクラッシュすることがありますが、時には数時間かかることもありますが、最終的には常にクラッシュします。
は、アプリケーションが私はこの例外をキャッチするAppDomain.CurrentDomain.UnhandledExceptionにイベントを追加する必要がありましたXNA4.0 VS2010で
を書かされ、ここで
は、スタックトレースは次のとおりです。XNA graphicsdevice.presentが "値が予想された範囲内にない"とクラッシュする
System.ArgumentException: Value does not fall within the expected range.
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Present(tagRECT* pSource, tagRECT* pDest, HWND__* hOverride)
at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.EndDraw()
at Microsoft.Xna.Framework.Game.EndDraw()
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Moof.Moof.Run()
at Moof.Program.Main(String[] args)
任意のアイデア?
ありがとうございます。
私はあなたのビデオデバイスが無効ということです何が起こっているかと思います。その場合、DirectXがデバッグモードで表示されます。ここでその方法を知ることができます:http://blogs.msdn.com/b/shawnhar/archive/2007/01/31/debugging -xna-graphics-problems.aspx – Dracorat