Understandには、ソースコードをグラフ表示する「グラフィカルビュー」がありますが、規模が大きなソースコードでは、グラフ表示が膨大となり見づらい場合があります。このような場合、以下の操作でビューを見やすくすることができます。
- ビューのズームイン・ズームアウト
- ビューの表示領域を広げる(ウィンドウの分離)
- 着目したい情報を強調する(パスのハイライト)
- 不要な情報を非表示にする
- クラスタやノードを閉じる
- ビューのオプション設定
- グラフィックフィルター
1,2は全てのグラフで利用できますが、3,4はグラフにより利用できない操作もあります。
以下、それぞれの操作をご紹介します。
1. ビューのズームイン・ズームアウト
ビューの上部にあるツールバーから、ズーム率を選択することができます。
また、Ctrl+Shift+マウスホイール上下で、ズーム率を変更することもできます。
2. ビューの表示領域を広げる(ウィンドウの分離)
Understandへ結合しているビューを分離し全体化することで、ディスプレイへ全画面表示することができます。
分離するには、ビュー上部にあるタブ上で右クリックし、コンテキストメニューから[ウィンドウの分離]を選択します。再度結合したい場合は、ビューの右上にあるメニューから[ウィンドウの結合]を選択します。
3. 着目したい情報を強調する(パスのハイライト)
エンティティ間のパスをハイライトし見やすくすることができます。CallsグラフやCalled Byグラフなどで利用することができます。下図はCalled Byグラフで、関数間のパスをハイライトした例です。
利用するには、ツリービューで、エンティティを選択して右クリックし、コンテキスト メニューの [パスのハイライト] をクリックします。複数のエンティティに対してパスをハイライトするには、Ctrl キーを押しながらエンティティを選択します。
4. 不要な情報を非表示にする
グラフィカルビューを見やすくする上で効果が高い方法は、不要な情報を非表示にすることです。その主な方法を3つご紹介します。
クラスタやノードを閉じる
情報がクラスタやノードとなっている場合、その単位で表示/非表示を切り替えることができます。
- クラスタ
クラスタ(下図左の黄色いブロック/下図右の(…)表記のブロック)をダブルクリックすることで、閉じる/展開することができます。Cluster CallグラフやCluster Control Flowグラフなどで利用することができます。下図はCluster Control Flowグラフの例です。
- ノード
ノード横の赤い丸をクリックすることで、ツリー ビューを閉じる/展開することができます。CallsグラフやCalled byグラフなどで利用することができます。下図はCallsグラフの例です。
ツリー ビューで展開するノードのレベル数を指定することもできます。利用するには、ビューの背景部分で右クリックし、コンテキストメニューから[Level]-[x Level(s)]を選択します。下図は3 レベル展開した例です。
ビューのオプション設定
ビューのオプション設定により、情報の表示/非表示を切り替えることができます。ほぼ全てのグラフで利用することができます。下図はCallsグラフで関数の定義ファイル名を表示/非表示にした例です。
利用するには、ビューの背景部分で右クリックし、コンテキストメニューから項目を選択します。
グラフィックフィルター
指定したエンティティ名のノードの表示/非表示を切り替えることができます。Callsグラフや Declarationグラフなどで利用することができます。下図はCallsグラフで外部参照しているzcalloc、zcfree、z_stream_s*をフィルターした例です。
利用するには、グラフィカル ビューの背景を右クリックし、コンテキスト メニューの [グラフィック フィルターの編集] から開くダイアログでフィルターするパターンを設定し、[グラフィック フィルターの有効化]チェックボックスで表示/非表示を切り替えます。