Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently using the DirectX June 2010 SDK. Everything was working fine with my installation until recently. Unfortunately I'm not sure what changed or when, but now when I create a device with D3D10CreateDevice1(), it always crashes with a memory error if the device is created with the D3D10_CREATE_DEVICE_DEBUG flag. Even reverting to old code which used to work causes this error.

Additionally, PIX always crashes every time I use it with my game.

I did some searching and found a lead that I may need to update my SDK installation. This page also indicates that I need to "install the updated SDK Debug Layers".

How do I do this? I have no idea how to install the "Debug Layers"...

Additionally, is it a mistake for me to be using the June 2010 SDK? Apparently DirectX is now included with the Windows 8 SDK, which I haven't been using because I've no interest in Windows 8 development. Is this foolish? Is there any downside to me using the Windows 8 SDK just for Windows 7 DirectX development using Visual Studio 2010?

share|improve this question
up vote 2 down vote accepted

As Chuck Walbourn's blog post that you linked says, a recent Windows update (KB 2670838) broke the debug layer. To get it working again (other than by uninstalling that update) you have to switch to the Win8 SDK version of the Direct3D headers and libraries. The June 2010 SDK is effectively deprecated at this point.

This doesn't mean you have to be running Win8; you can use the Win8 SDK just fine on Win7. If you install Visual Studio 2012 it'll come with the Win8 SDK built in. If you're using VS 2010 or earlier, you have to install the Win8 SDK separately, and presumably you have to manually add the paths to VS.

I'm pretty sure "install the updated SDK Debug Layers" just means install the Win8 SDK.

Unfortunately, PIX is gone for good. There is no way to get it working again for D3D10/11 after this Windows update (it still works for D3D9). The replacement for PIX is VS 2012's built-in Graphics Debugger feature, but there is nothing equivalent in VS 2010 or earlier. So if you use D3D10/11, this update basically forces you to either switch to VS 2012 or go without any form of graphics debugging.

share|improve this answer
Thank you Nathan. This was just the info I needed. With this context, and after drilling down a bit more, it all makes a lot more sense. Foolish of me to update without knowing exactly what I was doing. I may just uninstall the update for now- I don't particularly like being forced to upgrade to VS2012 in order to debug graphics.... but I'll consider that option too. Thank you!!! – Raptormeat Jul 16 '13 at 4:50
If you are looking for an alternative debug solution, check out . I use it on a project I am currently developing using visual studio 2010, it is comparable to the visual studio graphics debugger, though not quite as a convenient. – Evan Jul 16 '13 at 13:02
The VS 2013 Community edition is a great way to get the graphics debugger as well. – Chuck Walbourn Apr 29 '15 at 18:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.