C++ のコンテキスト演算子を使用して、ブレークポイントの場所、変数名、または式を修飾できます。 コンテキスト演算子は、ローカル名で非表示になっている外部スコープの名前を指定する場合に便利です。
構文
コンテキストを指定するには、次の 2 つの方法があります。
{,,[module] } 表現
中かっこには、2 つのコンマとモジュール (実行可能ファイルまたは DLL) 名または完全パスを含める必要があります。
たとえば、
SomeFunctionのEXAMPLE.dll関数にブレークポイントを設定するには、次のようにします。{,,EXAMPLE.dll}SomeFunctionmodule!表現
EXAMPLE.dll!SomeFunction
module はモジュールの名前です。 完全なパスを使用して、同じ名前のモジュール間であいまいさを解消できます。
モジュール パスにコンマ、埋め込みスペース、または中かっこが含まれている場合は、コンテキスト パーサーが文字列を正しく認識できるように、パスの周りに引用符を使用する必要があります。 単一引用符は Windows ファイル名の一部と見なされるため、二重引用符を使用する必要があります。 たとえば、
{,,"a long, long, library name.dll"} g_Varexpression は、 モジュール内の関数名、変数名、ポインター アドレスなど、有効なターゲットに解決される任意の有効な C++ 式です。
式エバリュエーターは、式でシンボルを検出すると、次の順序でシンボルを検索します。
現在のブロックから始まるレキシカルスコープは、一連のステートメントを中かっこで囲み、さらに外側にあるブロックへと続いていきます。 現在のブロックは、現在の場所である命令ポインター アドレスを含むコードです。
関数スコープ。 現在の関数。
現在の場所が C++ メンバー関数内にある場合のクラス スコープ。 クラス スコープには、すべての基底クラスが含まれます。 式エバリュエーターは、通常の支配ルールを使用します。
現在のモジュールのグローバル シンボル。
現在のプログラムのパブリック シンボル。