4

DirectX コントロール パネルを開いて Direct3D 9 タブを開き、[Use Debug Version of Direct3D 9] を設定して [OK] または [Apply] をクリックすると、エラーは発生しません。もう一度コントロール パネルを開くと、「Direct3D 9 の製品版を使用する」に戻ります。アプリケーションをデバッグしようとすると、Direct3D から何も出力されません。

数か月前にこれを最後に行ったとき、すべてが正しく機能し、デバッグ出力が得られました。

コントロール パネルを管理者として実行しても違いはないようで、ここで言及されているレジストリ キーhttp://www.gamedev.net/topic/514529-cant-use-debug-version-of-direct3d/が 1 に設定されています.

他に何を試すことができますか?

4

3 に答える 3

5

私にも同じことが起こりました。TrustedInstaller がいくつかのレジストリ キー (dxcpl が変更する HKLM/SOFTWARE/Microsoft/Direct3D を含む) の所有権を取得したようです。

ここで解決策を見つけました。そのレジストリキーの所有権を変更するだけです。

于 2013-12-31T23:26:11.180 に答える
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.) プロパティ ウィンドウで [Use Debug Version of Direct3D 9] をチェックします ( 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

于 2013-08-25T11:43:10.700 に答える