5

現在、SharpDX (マネージド c# directx ラッパー) を使用して Windows 8 アプリケーションを作成中です。しかし、シェーダーの 1 つで問題が発生したため、そのようなアプリケーションをデバッグできるかどうかを知りたいです。実行可能ファイルが直接開くのを好まないため、PIX は directX アプリでは機能しないようです。また、VS2012 の新しいビジュアル スタジオ グラフィックス デバッグ ツールキットは、セッションに関する情報をキャプチャしようとすると、常に「実験を開始できません」と表示されます。

ありがとう!

4

2 に答える 2

2

少し遅れてこの投稿に来ましたが、このスレッドへの将来の訪問者のために、SlimDX プロジェクトと SharpDX プロジェクトの両方で Visual Studio 2012 グラフィックス診断 (「DirectX デバッガー」) をうまく使用したことを追加したいと思います。特に、SlimDX プロジェクトでは、DX10/11 が混在するアプリをデバッグできませんでした。DX10 は、少なくともマネージ コードでは VS2012 で動作しないようです。たとえば、テキスト レンダリングがある場合は、デバッグ セッションのためにそれを削除する必要があります。以下を使用してDX10コードを分離すると、うまくいくはずです

#define DXDIAGSESSION
  // ... 
#if DXDIAGSESSION
  // your DX10 code goes here.
#endif

また、SharpDX プロジェクト (C# / WinRT / XAML / SharpDX) では、Managed Only Debugger を使用できませんでした。デバッガーを機能させるには、デバッガーを混合 (マネージドおよびネイティブ) に設定する必要がありました。

于 2013-01-18T16:27:49.333 に答える
0

DirectX Visual Studioデバッガーは、ネイティブコードでのみ機能します。プロジェクトを右クリックして[プロパティ]を選択し、[デバッグ]タブに移動して、ネイティブデバッグを有効にするまで、エラーが発生します。

これでエラーは削除されますが、問題が解決する場合と解決しない場合があります。管理対象コンポーネントでホストされているSurfaceImageSource(C ++)とC++プロジェクトのDirectXPageを使用した同様のシナリオがあります。どちらのプロジェクトでも、DirectXデバッグがフレームのキャプチャに失敗しているようです。この機能は、DirectX UIを使用している(マネージドUIコンポーネントを使用していない)プログラムでのみ機能するようです。

于 2013-01-01T18:24:24.550 に答える