D3D11CreateDevice会导致读取访问冲突(D3D11CreateDevice causes a reading access violation)

编程入门 行业动态 更新时间:2024-10-20 15:53:51
D3D11CreateDevice会导致读取访问冲突(D3D11CreateDevice causes a reading access violation)

代码和问题

我正在尝试使用Microsoft的Application Verifier,并在下面的简单代码中遇到读取访问冲突。 这是我的错吗? 如果不是,我应该向谁报告?

#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 Callstack

*** 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 Pro 64位(6.3,Build 9600) AMD Radeon(R)R9 200系列 AMD Catalyst驱动程序(15.7.1)最新版本(上次检查2015年10月15日下午10:16:39)

The Code & Question

I'm trying out Microsoft's Application Verifier and hitting a read-access violation on the simple code below. Is this my fault? If not, who should I report this to?

#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); }

Application Verifier Output

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 Callstack

*** 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

My PC's Info

Windows 8.1 Pro 64-bit (6.3, Build 9600) AMD Radeon (TM) R9 200 Series AMD Catalyst driver (15.7.1) Up to Date (Last checked 10/15/2015 10:16:39 PM)

最满意答案

在使用D3D_DRIVER_TYPE_WARP之后,App-Verifier不再检测到读取违规。

我联系了AMD。 谢谢你的建议Chuck Walbourn!

App-Verifier no longer detects a read violation after using D3D_DRIVER_TYPE_WARP.

I've contacted AMD. Thanks for the suggestion Chuck Walbourn!

更多推荐

本文发布于:2023-08-07 19:28:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1465572.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:冲突   D3D11CreateDevice   reading   violation   access

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!