获取 D3D 调试信息?

时间:2021-02-22 07:25:22

标签: windows-10 direct3d direct3d11

在我的 D3D 内容初始化期间,我调用了以下函数:

        hr = D3D11CreateDevice(nullptr,gDriverTypes[DriverTypeIndex],nullptr,
#ifdef _DEBUG
            D3D11_CREATE_DEVICE_DEBUG,
#else
            0,
#endif
            gFeatureLevels,gNumFeatureLevels,D3D11_SDK_VERSION,&lDevice,&lFeatureLevel,&lImmediateContext);

在调试版本中,为了获取有关可能的 D3D 错误的更多信息,我设置了标志 D3D11_CREATE_DEVICE_DEBUG。无需任何进一步操作,我的应用程序就会立即终止。

因此根据 Use D3D11 debug layer with VS2013 on Windows 10 我尝试通过调用安装所需的 D3D 调试内容

Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0

在最新的 Windows 10 上的管理控制台中。不幸的是,这失败了

Deployment Image Servicing and Management tool
Version: 10.0.18362.1316
Image Version: 10.0.18363.1316
[==========================100.0%==========================]
Error: 0x8024500c
DISM failed. No operation was performed.

日志文件也不是很有用,它包含大量的错误消息和错误代码,不容易理解。

那么...是否有其他方法可以获得启用 D3D11_CREATE_DEVICE_DEBUG 所需的 D3D 调试内容?

谢谢:-)

1 个答案:

答案 0 :(得分:0)

对于 Windows 10,仅在启用“图形工具”Windows 可选功能时才支持 Direct3D 11 和 Direct3D 12“调试设备”。

0x8024500c 的 HRESULT 表明您的系统上的 Windows 更新存在一些问题。是 WU_E_REDIRECTOR_CONNECT_POLICY

很可能您的 PC 位于使用 WSUS 的公司网络上。您需要让 IT 管理员允许此 Windows 可选功能。

相关问题