記録

<< 目次を表示 >>

ページ位置:  プログラムの動作解析 > ビルドとデバッグ > 動作解析の設定 >

記録

シーケンス図の生成において、記録する範囲を考慮せずに記録を実施すると、必要以上に情報を取得・記録し、結果的に複雑で意味のないシーケンス図が作成されてしまいます。

 

こうした問題を回避するために、動作解析の機能では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のみを対象外にする

 

参照: