Skip to main content
GameDev.net gamedev.net
🔒 Locked

D3D9 64-bit debug runtime

Started by Kjell Andersson Jun 17, 2013 at 12:15 PM 3 replies 10.2k views
Original Post
Kjell Andersson
Kjell Andersson

I'm trying to debug a 64-bit DirectX 9 application and want to get debug output from the DirectX calls, but is having trouble enabling the Debug runtime of d3d9.

If I go to the DirectX Control Panel (64-bit) and check the "Use Debug Version of Direct3D 9" checkbox it resets back to Retail when I close the control panel and open it again, i.e. I can't seem to be able to enable the debug runtime.

For 32-bit applications I can enable debugging.

I'm using the June 2010 SDK and Windows 7.

Anyone with experience regarding this?

roussec
roussec

I have the same problem on both development machines. It worked last week. Maybe a windows update?

MJP
MJP

There was a Windows 7 platform update that updated D3D components, and broke a few things (like PIX). To get the debug runtimes to work you need to either install the Windows 8 SDK to get the new debug DLL's, or you need to uninstall the platform update.

roussec
roussec

@MJP are you sure this is connected. The link is referring to D3D11 and is from Feb 2013.

Edit: I just deinstalled the updates from the 13th and it works again.

Kjell Andersson
Kjell Andersson

I have finally found the answer to this problem.

First I would like to point a finger at Microsoft for really messing with us old developers that have a ton of legacy code to maintain. You are not helping us!

The problem originates from a Windows 7 update that locked down the HKLM\Software\Microsoft\Direct3D registry key to a user named TrustedInstaller. This made the Administrator not having rights to update the settings in the registry key - thus not allowing us to switch to a debug version of Direct3D 9.

To fix this problem you have to follow this procedure:

1. Using regedit as an Administrator, go to the HKLM\Software\Microsoft\Direct3D key.

2. Select Permissions... from the context menu on the key.

3. Press the Advanced button.

4. Go to the Owner tab and select the Administrator as the owner. Apply the changes and close the Advanced settings.

5. Back in the Premissions dialog select the Administrators group and check Full Control. Apply changes and close dialog.

You are now able to start the DirectX Control Panel from the DirectX SDK June 2010 and switch to the debug runtime.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.