2

Visual Studio Debugger(DTEを使用)を介してメソッドの戻り値を取得する方法を探しています。メソッドの最後の部分にいるが、まだ終了していない場合、それを取得することは可能ですか?また、イミディエイトウィンドウを介して関数を再評価せずにこれが可能であることが最善です。

4

1 に答える 1

2

いいえ。デバッガーには、JITコンパイラーが値を返すためのコードを生成した正確な方法に関する十分な情報がありません。これは、ジッターとそれがコードを生成する特定のアーキテクチャーの強力な実装の詳細です。

オブジェクトや整数型のような単純な型はそれほど問題ではありません。通常、EAX / RAXレジスタ、FPUスタック、またはXMM0レジスタです。メソッドが構造体を返すと、複雑になります。これは、構造体が適合するレジスタにマップされますが、構造体が大きすぎる場合は、一時スタックバッファにスピルオーバーする必要があります。

それを機能させるには、ジッターが生成するメタデータに対して多くの作業を行う必要があると思います。その作業が完了すると、[自動]ウィンドウに表示されるようになります。昔のように、昔は。

于 2010-09-06T16:09:09.397 に答える