taehwan
taehwan

Reputation: 1

There's no Direct3D in my regedit. What should i do?

enter image description here

as you can see, there's no Direct3D file in regedit. I need to find memory leaks in my code. i already used _CrtSetBreakAlloc to clear all memory leaks!

D3DX: MEMORY LEAKS DETECTED: 60 allocations unfreed (4603 bytes) D3DX: Set HKLM\Software\Microsoft\Direct3D\D3DXBreakOnAllocId=0x736 to debug

this is the message i got in visual studio when i debug my D3DX.

  1. How can i find my Direct3D file in my regedit?
  2. if isn't possible, is there any other way to use D3DXBreakOnAllocId?

Upvotes: 0

Views: 850

Answers (1)

Chuck Walbourn
Chuck Walbourn

Reputation: 41047

You did not specify which version of Windows you are using, but it is important to note that the DirectX Developer Runtime for DirectX 9 (i.e. Direct3D's debug device) is not supported on Windows 8.0, Windows 8.1, or Windows 10.

You can still manually create that specific registry key that is used by the debug version of the legacy D3DX9 utility library library.

  • Select HKLM\SOFTWARE\Microsoft in the tree view

  • Select Edit \ New \ Key...

  • Set the name to "Direct3D"

  • Select Edit \ New \ DWORD (32-bit) Value...

  • Set the name to "D3DXBreakOnAllocId"

  • Set the value to your target like "736" (with the Hexadecimal radio button selected)

Be aware that the DirectX SDK, Direct3D 9, the D3DX9/D3DX10/D3DX11 libraries, and the "DirectX End-User Runtime" (i.e. DXSETUP.EXE/DXWEBSETUP.EXE/DirectSetup API) are all deprecated. See Where is the DirectX SDK (2021 Edition)?.

Upvotes: 1

Related Questions