このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
![]() |
![]() |
![]() |
![]() |
![]() |
Pro、Premium、Ultimate |
擬似変数は、変数ウィンドウまたは [クイック ウォッチ] ダイアログ ボックスに特定の情報を表示するときに使用される用語です。 通常の変数を入力するときと同様に、擬似変数を入力できます。 ただし、擬似変数は変数ではなく、プログラム内の変数名に対応しません。
使用例
たとえば、ネイティブ コード アプリケーションを記述していて、アプリケーションに割り当てられたハンドル数を確認する場合を考えてみます。 この場合、[ウォッチ] ウィンドウの [名前] 列に次の擬似変数を入力し、Enter キーを押すと、擬似変数が評価されます。
$handles
ネイティブ コードの場合、次の表に示す擬似変数を使用できます。
擬似変数 |
機能 |
---|---|
$handles |
アプリケーションに割り当てられているハンドル数を表示します。 |
$vframe |
現在のスタック フレームのアドレスを表示します。 |
$TID |
現在のスレッドのスレッド ID を表示します。 |
$ENV |
環境ブロックのサイズを表示します。 環境ブロックのサイズ ([値] 列) を編集して Enter キーを押すと、環境ブロックの内容が [出力] ウィンドウに表示されます。 この操作を実行しても、環境ブロックのサイズは変更されません。 |
$CMDLINE |
プログラムを実行したコマンド ライン文字列のサイズを表示します。 サイズ ([値] 列) を編集して Enter キーを押すと、コマンド ライン文字列が [出力] ウィンドウに表示されます。 この操作を実行しても、コマンド ライン文字列のサイズは変更されません。 |
$registername または @registername |
名前が registername のレジスタの内容を表示します。 通常は、レジスタ名を入力するだけでレジスタの内容を表示できます。 この構文を使用する必要があるのは、レジスタ名で変数名をオーバーロードしている場合だけです。 レジスタ名が現在のスコープ内での変数名と同じであると、デバッガーは、その名前を変数名と解釈します。 このようなときに、$registername や @registername が便利です。 |
$clk |
クロック周期の時間を表示します。 |
$user |
アプリケーションを実行しているアカウントのアカウント情報と共に、構造体を表示します。 セキュリティ上の理由から、パスワード情報は表示されません。 |
C# と Visual Basic では、次の表に示す擬似変数を使用できます。
擬似変数 |
機能 |
---|---|
$exception |
最後の例外に関する情報が表示されます。 例外が発生しなかった場合、$exception を評価してエラー メッセージが表示されます。 Visual C# のみに該当することとして、Exception Assistant が無効なときに例外が発生すると、$exception が自動的に [ローカル] ウィンドウに追加されることが挙げられます。 |
$user |
アプリケーションを実行しているアカウントのアカウント情報と共に、構造体を表示します。 セキュリティ上の理由から、パスワード情報は表示されません。 |
Visual Basic では、次の表に示す擬似変数を使用できます。
擬似変数 |
機能 |
---|---|
$delete または $$delete |
イミディエイト ウィンドウで作成された暗黙的な変数を削除します。 構文は、$delete, 変数または $delete, 変数. です。 |
$objectids または $listobjectids |
すべてのアクティブ オブジェクト ID を、指定された式の子として表示します。 構文は、$objectid, 式または $listobjectids, 式. です。 |
$N# |
N と等しいオブジェクト ID を持つオブジェクトを表示します。 |
$dynamic |
IDynamicMetaObjectProvider を実装するオブジェクト用の特別な [動的ビュー] ノードを表示します。 インターフェイス。 構文は $dynamic, オブジェクトです。 この機能は、.NET Framework Version 4 を使用するコードにのみ適用されます。 「動的ビュー」を参照してください。 |