微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的注册表中没有 Direct3D我应该怎么办?

如何解决我的注册表中没有 Direct3D我应该怎么办?

enter image description here

如您所见,regedit 中没有 Direct3D 文件。 我需要在我的代码中找到内存泄漏。 我已经使用 _CrtSetBreakAlloc 来清除所有内存泄漏!

D3DX:检测到内存泄漏:60 个未释放的分配(4603 字节) D3DX:设置 HKLM\Software\Microsoft\Direct3D\D3DXBreakOnAlLocid=0x736 进行调试

这是我在调试 D3DX 时在 Visual Studio 中得到的消息。

  1. 如何在我的 regedit 中找到我的 Direct3D 文件
  2. 如果不可能,还有其他方法可以使用 D3DXBreakOnAlLocid 吗?

解决方法

您没有指定您使用的是哪个版本的 Windows,但重要的是要注意 DirectX 9(即 Direct3D 的调试设备)的 DirectX Developer Runtime 在 Windows 8.0、Windows 上不支持 8.1 或 Windows 10。

您仍然可以手动创建由旧版 D3DX9 实用程序库库的调试版本使用的特定注册表项。

  • 在树视图中选择 HKLM\SOFTWARE\Microsoft

  • 选择编辑\新建\键...

  • 将名称设置为“Direct3D”

  • 选择编辑\新建\DWORD(32位)值...

  • 将名称设置为“D3DXBreakOnAllocId”

  • 将值设置为您的目标,例如“736”(选中十六进制单选按钮)

请注意,DirectX SDK、Direct3D 9、D3DX9/D3DX10/D3DX11 库和“DirectX 最终用户运行时”(即 DXSETUP.EXE/DXWEBSETUP.EXE/DirectSetup API)都是 deprecated .见Where is the DirectX SDK (2021 Edition)?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。