「追蹤」視圖中的輸入/輸出堆疊
左上畫面顯示輸入和輸出堆疊。堆疊是一個終止於來源(輸入堆疊)或接收槽(輸出堆疊)的呼叫序列。
資料流
左下畫面包含所選方法的資料流。資料可以在方法呼叫或指派中流動。「資料流」區段顯示原始碼中出現項目和環境定義的行號。
呼叫圖
圖表是呼叫圖的圖形表示法。在圖形內,每個方法呼叫都是一個矩形,顯示類別名稱和方法名稱:
- 紅色表示方法呼叫是來源、接收槽,或兩者兼俱。
- 遺失的接收槽是指無法再追蹤的 API 方法。虛擬遺失的接收槽是指遺失的接收槽,也是虛擬函數(可能有多個實作的函數)。黃色表示方法呼叫是遺失的接收槽或虛擬遺失的接收槽。
- 藍色表示方法呼叫不是虛擬/編碼常式。
- 灰色代表全部其他追蹤節點類型。
每一個方法呼叫分成三個區段:類別名稱、方法名稱和受汙染的引數名稱。方法呼叫的浮動說明會提供更詳細的資料。
有箭頭的線條代表方法之間的呼叫。空心箭頭表示呼叫中沒有已知污染的資料,實心箭頭代表污染的資料流。虛線箭頭表示 return 陳述式。
符號 | 說明 |
---|---|
不含已知污染資料的方法呼叫 | |
含有污染資料的方法呼叫 | |
傳回中含有污染資料 | |
來源(紅色):可能為不可信資料來源的方法、函數或參數。 | |
接收槽(紅色):可能容易遭到污染的資料所影響,或是使用上可能有危險的方法或函數。 | |
遺失的接收槽(黃色):可能容易遭到污染的資料所影響,或是使用上可能有危險的方法/函數。 | |
虛擬遺失的接收槽(黃色):解析為多個具體實作的一種遺失接收槽。 | |
不是驗證/編碼常式(藍色)。將 API 標示為不是驗證/編碼常式,表示這個 API 不驗證任何資料。 | |
污染傳播者:將污染傳播到一或多個參數、回覆值或這個指標的函數/方法。 |
提示:
- 在「追蹤」視圖中,將滑鼠游標移到圖形中的追蹤節點上,會提供節點的相關資訊。
- 可收合視圖中的兩個左畫面(輸入/輸出堆疊畫面和資料流畫面),使圖形呼叫曲線的檢視更容易。如果要收合這些畫面,請選取隱藏樹狀結構視圖箭頭按鈕。如果要顯示這些隱藏的畫面,請選取顯示樹狀結構視圖箭頭按鈕。
- 請移動捲軸,來放大及聚焦在細部,或縮小以看得更多。將滑鼠指標移至縮放捲軸可提供現行縮放比例。如果要放大到最大層次,請按一下縮放至 200%。如果要縮小到越遠越好,請按一下適當縮放。