2013-02-17 41 views
1

我正在使用Windows 8上的DirectX 11程序,對此我認爲頂點着色器存在問題。我嘗試啓動DirectX診斷模式([Alt] + [F5]),並且在診斷模式打開時程序正常運行時不會引發異常,它會在調用「CreateSwapChainForHwnd」時崩潰,並顯示以下錯誤消息DirectX診斷模式不適用於Win32(?)

MyApplication.exe中的0x0097C004未處理的異常:0xC0000096: 特權指令。

DirectX調試是否不適用於Windows Store應用程序?它似乎可以在特定的Win32應用程序場景中正常工作,但我似乎遇到了很多不適用的場景。

更新:

在我安裝了DirectX調試符號,並得到了稍微更詳細的消息其他的事情。 0000005:在0x000007FDED063589(dxgi.dll)在 MyApplication.exe

未處理的異常訪問衝突讀取位置 0x0000000000000000。

所以它看起來是微軟的代碼中的空引用異常。

回答

1

我覺得你的問題是,調試器不喜歡CreateSwapChainForHwnd(),因爲這個其他人發現:Requirements for target application for Visual Studio 11's Graphics Debugger

我的代碼調用D3D11CreateDevice(),其次是IDXGIFactory :: CreateSwapChain()和調試工作對於桌面win32應用程序,請嘗試一下。

你有什麼特定的Windows應用程序應用場景?我有完全相反的問題 - 我無法讓Alt-F5調試器爲Windows Store應用程序工作,但它適用於桌面win32應用程序。