设置Direct3D运行时的调试版本将不会成功

时间:2013-07-19 18:33:20

标签: debugging directx directx-9

当我打开DirectX控制面板并打开Direct3D 9选项卡并设置“使用Direct3D 9的调试版本”并点击“确定”或“应用”时,没有错误。如果我再次打开控制面板,则返回“使用Direct3D 9的零售版”。当我尝试调试我的应用程序时,我没有从Direct3D获得任何输出。

几个月前,当我上次这样做时,一切正常,我得到了调试输出。

以管理员身份运行控制面板似乎没有什么区别,此处提到的注册表项http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/设置为1。

我还能尝试什么?

3 个答案:

答案 0 :(得分:4)

同样的事发生在我身上。看起来TrustedInstaller拥有一些注册表项(包括dxcpl修改的HKLM / SOFTWARE / Microsoft / Direct3D)。

找到解决方案here。您只需要更改该regkey的所有权。

答案 1 :(得分:1)

我已经看到这种情况发生了并且收集了一些最佳实践,试图让这个东西在网上工作 - 你可以尝试一下

1。)在DirectX中有一个单独的x86和x64应用程序控制面板,有一个随sdk一起提供的DirectX控制面板,您可以设置使用d3d调试运行时和详细级别。还有一个着色器调试和内存检查选项。

2.。)链接d3dx9d.lib而不是d3dx9.lib

3.尝试添加#pragma comment(lib, "d3dx9d")

4.。)使用#define D3D_DEBUG_INFO,但在包含d3d9标题之前使用它。

5.)在属性窗口中检查Direct3D 9的使用调试版本,如下所示 http://i.stack.imgur.com/WoZAH.png

6。)使用像DebugView

这样的工具

来源:  http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/  https://gamedev.stackexchange.com/questions/24541/cant-get-debug-spew-for-direct3d9

答案 2 :(得分:0)

对我来说解决方案就是:

“查看密钥的权限是否可以点击”高级“按钮?然后单击”所有者“选项卡将检查放在底部框中,然后突出显示管理员组,然后选中”获取所有权“。 通过:http://www.tomshardware.co.uk/forum/238556-45-cannot-modify-delete-change-permissions-registry

执行此操作后,我能够为我的用户提供对HKLM / SOFTWARE / Microsoft / Direct3D的完全访问权限,然后ctrlpanel保留其设置。