共用方式為


內容運算子 (C/C++ 語言的運算式)

更新:2007 年 11 月

這個主題適用於:

版本

Visual Basic

C#

C++

Web Developer

Express 版

標題不適用於 標題不適用於

僅適用原生

標題不適用於

Standard 版

標題不適用於 標題不適用於

僅適用原生

標題不適用於

Pro/Team 版

標題不適用於 標題不適用於

僅適用原生

標題不適用於

表格圖例:

標題適用於

套用

標題不適用於

不套用

預設會套用主題但隱藏命令

預設隱藏的命令。

內容運算子為原生的偵錯工具所提供的額外運算子。在偵錯機器碼時,您可使用內容運算子來限定中斷點位置、變數名稱或運算式:

  • {[{[function],[source],[module] } location

  • {[{[function],[source],[module] } variable_name

  • {[function],[source],[module] } expression

大括號中可包含函式名稱、原始程式檔 (Source File) 路徑和模組 (可執行檔或 DLL) 路徑的任意組合。內容運算子可用於指定外部範圍的名稱等用途,否則這些名稱將被區域的名稱所隱藏。

範例

若要在 EXAMPLE.CPP 的 301 行設定一中斷點:

{,EXAMPLE.CPP,}@301

如果您要省略 function 或 module,則不可以省略兩個逗號。因此,下列語法是無效的:

{File.c, File.exe} @143 // Invalid syntax

不過,如果您同時省略 source 和 module,則可省略逗號。下列語法是有效的:

{Fun} @143

如果 source 或 module 路徑包含逗號、內嵌的空格或大括號,則您必須使用引號來括住路徑名稱,以便讓內容剖析器 (Parser) 可以正確地辨識字串。由於單引號被視為 Windows 檔案名稱的一部分,因此您必須使用雙引號。例如:

{,"a long, long, name.c", } .143

當運算式評估工具在運算式中碰到一個符號時,它將以下列順序來搜尋該符號:

  1. 向外擴展語彙範圍 (Lexical Scope),從目前的區塊開始,也就是大括號所括住的一系列陳述式,繼續向外擴展括住的區塊。目前的區塊為包含目前位置 (指令指標位址) 的程式碼。

  2. 函式範圍。目前的函式。

  3. 如果目前的位置是在 C++ 成員函式內,則為類別範圍 (Class Scope)。類別範圍包含所有的基底類別。運算式評估工具將使用一般的支配規則。

  4. 目前的模組。

  5. 全域符號。

  6. 其他模組。

  7. 程式中的公用符號。

透過內容運算子,您可指定搜尋的起點,並跳過目前的位置。您不能指定一個類別,不過可以指定類別的成員函式,並讓運算式評估工具往外搜尋。

請參閱

其他資源

原生 C++ 中的運算式