C# XAML Windows ストア アプリと、C++ AMP コードを公開する WinRT コンポーネントを使用したソリューションがあります。アプリからコンポーネントへの参照が設定され、これを実行できます。混合モードのデバッグで、win rt コンポーネントにステップインできます。
ただし、ソフトウェア エミュレーション gpu デバッガーでデバッグを開始する「gpu のみ」の「デバッガー タイプ」を選択できません。混合モードを選択して、c# アプリと c++ rt コンポーネントの両方をデバッグできますが、gpu を使用できないため、カーネルの実際の parallel_for_each コード ブロックにステップ インできません。
C++ XAML Windows ストア アプリをホストとして使用する場合、デバッガーの種類として "gpu のみ" を簡単に選択できます。
1 つの解決策は、ソリューション (C# アプリ + C++ コンポーネント) をデバッグせずにビルドして起動し、手動でデバッグ/アタッチしてプロセスに移動し、実行中のプロセスを見つけ、gpu degbugger を選択してアタッチすることです。手動で正しいアクセラレータを使用することを確認している限り、これは実際に機能します。
このデバッグは手動でアタッチすることで回りくどい方法で実行できるため、通常の F5 の実行とデバッグで機能することは明らかであり、基本的に同じことをより簡単な方法で実行できます。
これがどのようにセットアップされて通常どおりに機能するのか、そして私の困難の理由は何かについて、非常に興味があります。
注意 問題と回避策がよくわからなかったので、別の表現とタグでこれについて投稿しました。私はその投稿を削除し、代わりにこれを書きました。