2013-07-19 33 views
2

當我打開DirectX控制面板並打開Direct3D 9選項卡並設置「使用Direct3D 9的調試版本」並點擊「確定」或「應用」時,沒有錯誤。如果我再次打開控制面板,它會回到「使用Direct3D 9的零售版本」。當我嘗試調試我的應用程序時,我沒有從Direct3D獲得任何輸出。設置Direct3D運行時的調試版本不會粘住

當我最後幾個月前做了這個,一切正常,我得到了調試輸出。

以管理員身份運行控制面板似乎沒有什麼區別,並且此處提到的註冊表項http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/已設置爲1。

我還能試試嗎?

回答

4

同事情發生在我身上。看起來TrustedInstaller取得了一些註冊表項(包括dxcpl修改的HKLM/SOFTWARE/Microsoft/Direct3D)的所有權。

找到解決方案here。你只需要改變該regkey的所有權。

1

我已經看到這種情況發生和排序的收集,試圖讓這件事在網上工作的最佳實踐 - 你可以嘗試

1)有在DirectX的x86和x64應用程序獨立的控制面板,有是隨sdk一起提供的DirectX控制面板,您可以設置爲使用d3d調試運行時和詳細級別。還有一個用於着色器調試和內存檢查的選項。

2)針對d3dx9d.lib代替d3dx9.lib

3)鏈接嘗試添加#pragma comment(lib, "d3dx9d")

4)使用#define D3D_DEBUG_INFO,但包括D3D9頭之前使用。

5)檢查D3D9中使用調試版本在屬性窗口中,像這樣 http://i.stack.imgur.com/WoZAH.png

6)使用像DebugView

來源的工具: http://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/ https://gamedev.stackexchange.com/questions/24541/cant-get-debug-spew-for-direct3d9

+0

我的應用程序不使用d3dx9.lib,只使用d3d9.lib。添加'D3D_DEBUG_INFO'沒有什麼區別。 – IronMensan

相關問題