在Windows 10的VS2013上使用D3D11调试层
Use D3D11 debug layer with VS2013 on Windows 10
在我的D3D 11项目中,我总是添加
#if (defined(DEBUG) || defined(_DEBUG))
deviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif /* (defined(DEBUG) || defined(_DEBUG)) */
到设备创建标志以启用调试输出。自从我升级到Windows 10后,这个功能就失效了。设备创建失败,输出如下:
D3D11CreateDevice: Flags (0x2)被指定为需要Windows 10的D3D11 SDK层,但它们不存在于系统中。必须移除这些标志,否则必须安装Windows 10 SDK。标志包括:D3D11_CREATE_DEVICE_DEBUG
但是,我不能使用Windows 10 SDK,也不能将项目从VS2013升级到vs2015 atm。是否有办法解决这个问题,即我可以在VS2013上启用Windows 10上的D3D11调试层?
调试消息有点误导。对于Windows 10, Windows SDK不再安装Direct3D调试层。相反,你需要启用一个名为"图形工具"的Windows可选功能,其中包括调试层。在Windows 10上安装VS 2015和Windows 10 SDK应该也会自动启用此功能,但你可以直接设置。
(a)设置面板->系统->应用程序;管理可选功能->添加功能->选择"图形工具"
(b)从admin命令行提示符:
Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0
看这篇文章
请注意,当您从Windows 10(10240)升级到2015年11月更新(10586)时,您可能需要重新启用图形工具可选功能。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 在linux上调试巨大的C++项目
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 正在VS调试器中监视映射条目
- 使用调试/崩溃报告将应用程序部署到客户端
- VC++本机单元测试,找不到调试符号
- 如何在C++生成器中禁用"使用调试.dcus"
- D3D11-将混合权重和索引传递到顶点着色器
- 使用vscode调试时,GDB意外退出
- 即使使用调试编译标志,表达式也是"optimized out"
- 调试 CUDA MMU 故障
- 小字符串优化(调试与发布模式)
- 调试和自由执行中的信号处理
- 调试编译的服务器在数据库打开时崩溃
- Visual Studio 调试优化如何工作?
- 如何配置Visual Studio Code以使用cygwin,cmake和gcc进行调试
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- 如何在大型c++项目的可视化代码中设置调试
- 在Windows 10的VS2013上使用D3D11调试层