共用方式為


了解取樣資料值

更新:2007 年 11 月

Visual Studio Team System Developer 版程式碼剖析工具的「取樣」(Sampling) 程式碼剖析方法會定期中斷電腦處理序,並收集函式呼叫堆疊。「呼叫堆疊」(Call Stack) 是一種動態結構,存放有關處理器正在執行的函式之資訊。

程式碼剖析工具分析會判斷處理器是否正在執行目標處理序中的程式碼。如果處理器並未在執行目標處理序中的程式碼,將捨棄此取樣。

如果處理器正在執行目標程式碼,程式碼剖析工具就會針對呼叫堆疊上的每一個函式遞增對應的樣本計數。取樣時,呼叫堆疊上的所有函式中只會有一個正在執行程式碼,其他都是函式呼叫階層中的父函式,正在等候其子函式返回。

每次取得有效樣本時,程式碼剖析工具便會針對目前正執行自身指令的函式,遞增其「專有」(Exclusive) 樣本計數,此外,因為專有樣本也是函式總 (「內含」(Inclusive)) 樣本的一部分,所以也會針對目前作用中的函式遞增其內含樣本計數。

程式碼剖析工具會針對呼叫堆疊上所有其他函式遞增內含樣本計數。

內含樣本

目標函式執行期間收集的總樣本數。

這包括函式程式碼直接執行期間收集的樣本,以及目標函式呼叫的子函式執行期間收集的樣本。

專有樣本

目標函式指令直接執行期間收集的樣本數。

專有樣本並不包括目標函式呼叫之函式的執行期間收集的樣本。

內含百分比

程式碼剖析執行期間收集的所有內含樣本數中,此函式或資料範圍的內含樣本數所佔的百分比。

專有百分比

程式碼剖析執行期間收集的所有專有樣本數中,此函式或資料範圍的專有樣本數所佔的百分比。

請參閱

工作

HOW TO:選擇收集方法

其他資源

檢視程式碼剖析工具報告