「トレース」ビューの入出力スタック

左上のパネルに入力スタックと出力スタックが表示されます。このスタックは、ソース (入力スタック) またはシンク (出力スタック) のどちらかで終了する一連の呼び出しのことです。

データ・フロー

左下のパネルに、選択されたメソッドのデータ・フローが表示されます。データは、メソッド呼び出しまたは割り当てを通して流すことができます。データ・フロー・セクションには、項目とコンテキストが表示される、ソース・コード内の行番号が表示されます。

呼び出しグラフ

チャートは、呼び出しグラフのグラフィック表現です。各メソッド呼び出しは、クラス名とメソッド名を示すグラフ内の四角形です。

  • 赤色は、メソッド呼び出しがソースとシンクのどちらかまたはその両方であることを示します。
  • 逸失シンク とは、トレースできなくなった API メソッドのことです。仮想逸失シンク とは、 仮想関数 (複数の実装を持つことができる関数) でもある逸失シンクのことです。黄色は、メソッド呼び出しが逸失シンクまたは仮想逸失シンクであることを示します。
  • 青色は、メソッド呼び出しが検証/エンコード・ルーチンではないことを示します。
  • 灰色は、他のすべてのトレース・ノード・タイプを表します。

各メソッドの呼び出しは次の 3 つのセクションに分割できます。クラス名、メソッド名、汚染引数名。メソッド呼び出しの上にマウス・カーソルを移動すると、詳細が表示されます。

矢印付きの直線は、メソッド間の呼び出しを表します。塗りつぶされていない矢印は、呼び出し内に既知の汚染されたデータが存在しないことを示すのに対して、塗りつぶされた矢印は、汚染されたデータ・フローを示します。破線矢印は、戻りステートメントを示します。

記号 説明

汚染されたデータが存在しないメソッド呼び出しのトレース結合子
既知の汚染されたデータが存在しないメソッド呼び出し

汚染されたデータが存在するメソッド呼び出しのトレース結合子
汚染されたデータが存在するメソッド呼び出し

汚染されたデータが存在する戻りステートメントのトレース結合子
汚染されたデータが存在する戻りステートメント

ソース
ソース (赤色): 潜在的に信用できないデータの元であるメソッド、関数、またはパラメーター。

シンク
シンク (赤色): 汚染されたデータに対して潜在的に脆弱なまたは使用すると潜在的に危険なメソッドまたは関数。

逸失シンク
逸失シンク (黄色): 汚染されたデータに対して潜在的に脆弱なまたは使用すると潜在的に危険なメソッド/関数。

仮想逸失シンク
仮想逸失シンク (黄色): 複数の具体的な実装に解決される逸失シンクのタイプ。

非検証ルーチン
検証/エンコード・ルーチンではない (青色)。API を「検証/エンコード・ルーチンなし」としてマークすると、この API がデータ検証を実行しないことが示されます。

汚染伝播元
汚染伝播元: 汚染を 1 つ以上のパラメーター、戻り値、またはこのポインターに伝播する関数/メソッド。
ヒント:
  • 「トレース」ビューで、グラフ内のトレース・ノードの上にマウスを移動すると、そのノードに関する情報が表示されます。
  • ビュー内の 2 つの左パネル (入力/出力スタック・パネルとデータ・フロー・パネル) は、省略表示することによって、グラフィック呼び出しグラフが見やすくなります。これらのパネルを省略表示するには、「ツリー・ビューの非表示」矢印ボタンを選択してください。非表示になったこれらのパネルを表示するには、「ツリー・ビューの表示」矢印ボタンを選択します。
  • スクロール・バーを動かして、詳細にズームインして集中するか、ズームアウトして表示数を増やします。ズーム・スクロール・バーの上にマウス・カーソルを移動すると、現在のズーム・レベルが表示されます。最大レベルまでズームインするには、「ズーム率 200%」をクリックします。可能な限りズームアウトするには、「適合ズーム」をクリックします。