<< 目次を表示 >> ページ位置: プログラムの動作解析 > ビルドとデバッグ > 動作解析の設定 > 記録 |
シーケンス図の生成において、記録する範囲を考慮せずに記録を実施すると、必要以上に情報を取得・記録し、結果的に複雑で意味のないシーケンス図が作成されてしまいます。
こうした問題を回避するために、動作解析の機能では2つの機能で、記録範囲に制約を設けることができます。
利用手順:
以下のいずれかの方法で動作解析サブウィンドウを開き、対象となる設定について以下の操作を実行し、その後記録タブを開きます。
リボン |
|
キーボード |
Shift+F12 |
利用方法
フィルタを有効にするの設定項目が有効な場合には、デバッガの実行時にフィルタの条件に合致する内容は履歴を記録しないようになります。フィルタの条件は大文字小文字を区別します。
フィルタの値を追加するためには、新規のアイコンをクリックします。入力する値は次のような形式になります。
class_name_token::method_name_token
class_name_tokenを指定すると、対象のクラスのすべてのメソッドが記録対象外になります。ワイルドカードの文字 *を利用できます。クラス名を指定しないことも可能です。
method_name_tokenを指定すると、指定した名前のメソッドが記録対象外になります。ワイルドカードの文字 *を利用できます。メソッド名を指定しないことも可能です。
クラス名の指定がない場合には、グローバル・パブリックなメソッド(関数)のみが対象になります。クラスに関わらず、指定したメソッドを記録対象外にするという意味ではありませんので注意してください。
例:
Javaについて設定した例が下の画像です。この例では、以下のフィルタが有効です。
ネイティブアプリケーションについて設定した例が下の画像です。この例では、以下のフィルタが有効です。:
詳細:
フィルタの例 |
処理内容 |
::Get* |
Getで始まる関数を記録対象外にする (例:WindowsAPIのGetClientRect) |
*::Get* |
すべてのクラスを対象に、 Get で始まるメソッドを対象外にする |
CClass::Get* |
CClassクラスのGetで始まるメソッドを対象外にする |
CClass::* |
CClassのすべてのメソッドを対象外にする |
ATL* std* |
標準テンプレートライブラリ(STL)やActive Template Libraries(ATL)のクラスを対象外にする |
CClass::GetName |
CClassのメソッドGetNameのみを対象外にする |
参照: