2015-10-16 426 views
1

守則&問題

我嘗試了微軟的應用程序驗證,並創下了讀訪問衝突下面的簡單的代碼。 這是我的錯嗎?如果不是,我應該向誰報告?D3D11CreateDevice導致讀取訪問衝突

#include <D3D11_1.h> 
#pragma comment(lib, "d3d11.lib") 

void main() 
{ 
    ID3D11Device* device = NULL; 
    D3D11CreateDevice(
     NULL, 
     D3D_DRIVER_TYPE_HARDWARE, 
     NULL, 
     0, 
     NULL, 
     0, 
     D3D11_SDK_VERSION, 
     &device, 
     NULL, 
     NULL); 
} 

應用程序驗證輸出

Page heap: pid 0x1034: page heap enabled with flags 0x3. 
AVRF: D3D11_Fails_AppVerifier.exe: pid 0x1034: flags 0x81643027: application verifier enabled 
First-chance exception at 0x00007FFA4EA681B9 (atiuxp64.dll) in D3D11_Fails_AppVerifier.exe: 0xC0000005: Access violation reading location 0x0000009411813000. 


======================================= 
VERIFIER STOP 0000000000000013: pid 0x1034: First chance access violation for current stack trace. 

0000009411813000 : Invalid address causing the exception. 
00007FFA4EA681B9 : Code address executing the invalid access. 
000000940FA5B430 : Exception record. 
000000940FA5AF40 : Context record. 

WinDBG的調用堆棧

*** ERROR: Symbol file could not be found. Defaulted to export symbols for vrfcore.dll - 
vrfcore!VerifierStopMessageEx+0x6f4: 
00007ffa`48d33a00 cc    int  3 
0:000> k 
Child-SP   RetAddr   Call Site 
00000094`0fa5a1b0 00007ffa`48d39d20 vrfcore!VerifierStopMessageEx+0x6f4 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for verifier.dll - 
00000094`0fa5a510 00007ffa`48c5a9d0 vrfcore!VerifierDisableVerifier+0x948 
00000094`0fa5a5a0 00007ffa`54b6a743 verifier!VerifierStopMessage+0xa0 
*** ERROR: Module load completed but symbols could not be loaded for vfbasics.dll 
00000094`0fa5a640 00007ffa`48cc62d9 ntdll!RtlApplicationVerifierStop+0x103 
00000094`0fa5a6a0 00007ffa`48cc8246 vfbasics+0x62d9 
00000094`0fa5a700 00007ffa`48cc787e vfbasics+0x8246 
00000094`0fa5a790 00007ffa`54af5f42 vfbasics+0x787e 
00000094`0fa5a7e0 00007ffa`54af4763 ntdll!RtlRestoreContext+0x182 
00000094`0fa5a870 00007ffa`54b330aa ntdll!RtlRaiseException+0xe33 
00000094`0fa5af40 00007ffa`4ea681b9 ntdll!KiUserExceptionDispatcher+0x3a 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for atiuxp64.dll - 
00000094`0fa5b658 00000094`1170b0f0 atiuxp64!OpenAdapter10_2+0x12525 
00000094`0fa5b660 00000094`0fa5b800 0x00000094`1170b0f0 
00000094`0fa5b668 00007ffa`4ea5aa93 0x00000094`0fa5b800 
00000094`0fa5b670 00007ffa`4ea55dbe atiuxp64!OpenAdapter10_2+0x4dff 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for aticfx64.dll - 
00000094`0fa5b720 00007ffa`4f18120e atiuxp64!OpenAdapter10_2+0x12a 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for d3d11.dll - 
00000094`0fa5b750 00007ffa`4f3a88c1 aticfx64!OpenAdapter10_2+0x13e 
00000094`0fa5b780 00007ffa`4f3a8691 d3d11!D3D11CoreCreateLayeredDevice+0x1ba1 
00000094`0fa5b8a0 00007ffa`4f3a85db d3d11!D3D11CoreCreateLayeredDevice+0x1971 
00000094`0fa5b900 00007ffa`4f387f3d d3d11!D3D11CoreCreateLayeredDevice+0x18bb 
00000094`0fa5ba30 00007ffa`4f387e60 d3d11+0x7f3d 
00000094`0fa5ba90 00007ffa`4f3a7c6e d3d11+0x7e60 
00000094`0fa5bc60 00007ffa`4f3a81fb d3d11!D3D11CoreCreateLayeredDevice+0xf4e 
00000094`0fa5c4c0 00007ffa`4f3a80ad d3d11!D3D11CoreCreateLayeredDevice+0x14db 
00000094`0fa5c8a0 00007ffa`4f3a6cf9 d3d11!D3D11CoreCreateLayeredDevice+0x138d 
00000094`0fa5c8d0 00007ffa`4f3a73cf d3d11!D3D11CoreCreateDevice+0xb09 
00000094`0fa5c910 00007ffa`4f3a730b d3d11!D3D11CoreCreateLayeredDevice+0x6af 
00000094`0fa5c960 00007ffa`4f3a7295 d3d11!D3D11CoreCreateLayeredDevice+0x5eb 
00000094`0fa5c9d0 00007ffa`4f3a6e61 d3d11!D3D11CoreCreateLayeredDevice+0x575 
00000094`0fa5caa0 00007ffa`4f3a7573 d3d11!D3D11CoreCreateLayeredDevice+0x141 
00000094`0fa5cb40 00007ffa`4f3a5b7f d3d11!D3D11CoreCreateLayeredDevice+0x853 
00000094`0fa5f260 00007ffa`4f3a58e4 d3d11!D3D11CreateDeviceAndSwapChain+0x37f 
00000094`0fa5f590 00007ffa`4f3a57ec d3d11!D3D11CreateDeviceAndSwapChain+0xe4 
00000094`0fa5f650 00007ffa`4f3a576c d3d11!D3D11CreateDevice+0x14c 
*** WARNING: Unable to verify checksum for D3D11_Fails_AppVerifier.exe 
00000094`0fa5f6c0 00007ff7`a70b1087 d3d11!D3D11CreateDevice+0xcc 
00000094`0fa5f770 00007ff7`a70b175d D3D11_Fails_AppVerifier!main+0x77 [c:\_personalprojects\d3d11_fails_appverifier\main.cpp @ 18] 
00000094`0fa5f800 00007ff7`a70b188e D3D11_Fails_AppVerifier!__tmainCRTStartup+0x19d [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 536] 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll - 
00000094`0fa5f870 00007ffa`540113d2 D3D11_Fails_AppVerifier!mainCRTStartup+0xe [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 377] 
00000094`0fa5f8a0 00007ffa`54ab5454 kernel32!BaseThreadInitThunk+0x22 
00000094`0fa5f8d0 00000000`00000000 ntdll!RtlUserThreadStart+0x34 

我的電腦的信息

  • 的Windows 8.1專業版64位(6.3,建設9600)
  • 的AMD Radeon(TM)R9 200系列
  • AMD催化劑驅動(15.7.1)截至日期(上次檢查2015年10月15日下午10時16分39秒)
+1

從堆棧中看來,這是ATI驅動程序中的一個問題,因此您應該聯繫AMD。 –

+1

請注意,您可以通過嘗試使用D3D_DRIVER_TYPE_WARP進行相同的測試來確認第三方驅動程序或運行時是否存在問題 –

回答

0

應用,驗證不再在使用D3D_DRIVER_TYPE_WARP後檢測到讀取違規。

I've contacted AMD.謝謝你的建議Chuck Walbourn!