2

いくつかの DirectX コードを別のプロジェクトに再実装することで、いくつかの DirectX プログラミングを学習していますが、デバッガーが 2 つのプロジェクト (サンプルと私のプロジェクト) 間で異なるデータを出力するように見えることがわかりました。

私のプロジェクトでこれを行うと:

D3DSURFACE_DESC desc;
pTarget->GetLevelDesc(0,&desc);
int width = desc.Width;
int height = desc.Height;

デバッガー出力の幅と高さを 10 進数で結果を取得しますが、directx サンプルでは結果は 16 進数です (どちらも実際には正確です。16 進数を 10 進数に変換すると適切なようです)。

もう 1 つの (わずかに) マイナーな問題は、デバッガーがさまざまな DirectX 関連のポインターに関する情報を提供する方法です。たとえば、私のプロジェクトでは、実行を停止してポインタの上にマウスを移動すると、いくつかの漢字、null ポインタなどを取得します (テクスチャはまだ有効で、100% 動作します)、DirectX サンプルでは取得しませんつまり、実際には、DirectX の基本型 (私のプロジェクトでは行わないもの) である以外に、ポインターに関する情報は提供されません。

だから私はただ疑問に思っています.なぜこれがそうであり、それらを同じように動作させるために使用できるデバッグオプションはありますか?

4

1 に答える 1

8

[デバッグ]ツールバー(ツールバーを右クリックして、[デバッグ]が選択されていることを確認します)で、[16進]ボタンを切り替えることができます。これは、デバッガーが16進値とdec値のどちらを表示するかを制御します。おそらく、場所によって設定が異なるだけです。

検査中に表示される小さな検査ツールチップの変数値を右クリックして、Hexのオン/オフを切り替えることもできます。

于 2009-05-16T19:00:03.527 に答える