【问题标题】:DirectX Diagnostic Mode doesn't work for Win32 ( ? )DirectX 诊断模式不适用于 Win32 ( ? )
【发布时间】:2013-02-17 15:43:57
【问题描述】:

我正在使用 Windows 8 上的 DirectX 11 程序,我认为顶点着色器存在问题。我尝试启动 DirectX 诊断模式([Alt]+[F5]),虽然如果打开诊断模式,程序将正常运行而不会引发异常,但它总是会在调用“CreateSwapChainForHwnd”时崩溃,并显示以下错误消息

MyApplication.exe 中 0x0097C004 处未处理的异常:0xC0000096: 特权指令。

DirectX 调试是否根本不适用于 Windows 应用商店应用程序?它似乎在特定的 Win32 应用程序场景中运行良好,但我似乎遇到了许多它不起作用的场景。

更新:

除此之外,我还安装了 DirectX 调试符号并获得了稍微更详细的消息。

在 0x000007FDED063589 (dxgi.dll) 中未处理的异常 MyApplication.exe: 0xC0000005: 访问冲突读取位置 0x0000000000000000.

所以从微软端的代码来看,它看起来是一个空引用异常。

【问题讨论】:

    标签: windows directx direct3d


    【解决方案1】:

    我认为您的问题是调试器不喜欢 CreateSwapChainForHwnd(),正如其他人发现的那样:Requirements for target application for Visual Studio 11's Graphics Debugger

    我的代码调用 D3D11CreateDevice() 后跟 IDXGIFactory::CreateSwapChain() 并且调试器适用于桌面 win32 应用程序,所以试试吧。

    您让它在哪些特定的 Windows 应用商店应用场景中工作?我有完全相反的问题 - 我无法让 Alt-F5 调试器完全适用于 Windows 商店应用程序,但它适用于桌面 win32 应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多