我正在使用Windows 8上的DirectX 11程序,我认为顶点着色器存在问题。我尝试启动DirectX诊断模式([Alt] + [F5])并且程序将正常运行而不会抛出异常如果诊断模式打开它将始终在调用“CreateSwapChainForHwnd”时崩溃,并显示以下错误消息< / p>
MyApplication.exe中0x0097C004处的未处理异常:0xC0000096: 特权指示。
DirectX调试是否对Windows Store应用程序不起作用?它似乎在特定的Win32应用程序方案中工作正常,但我似乎遇到了许多不起作用的场景。
更新
除此之外,我还安装了DirectX调试符号,并获得了更为详细的消息。
0x000007FDED063589(dxgi.dll)中的未处理异常 MyApplication.exe:0xC0000005:访问冲突读取位置 0x0000000000000000。
所以它看起来是微软端代码的空引用异常。
答案 0 :(得分:1)
我认为您的问题是调试器不喜欢CreateSwapChainForHwnd(),正如其他人发现的那样:Requirements for target application for Visual Studio 11's Graphics Debugger
我的代码调用D3D11CreateDevice()后跟IDXGIFactory :: CreateSwapChain(),调试器适用于桌面win32应用程序,所以试试吧。
您可以使用哪些特定的Windows应用商店应用场景?我有完全相反的问题 - 我无法让Alt-F5调试器完全适用于Windows应用商店应用,但它适用于桌面win32应用。