Skip to content

MS_ApiListCallGraphAndTestEvidence

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

使用APIの一覧、関数コールグラフ、単体テストのエビデンス

概要

設計・保守で必要になる「使用APIの一覧」「関数コールグラフ」「単体テストのエビデンス」を、 どのツールで取得できるかを纏めています。

使用APIの一覧

Doxygen、Sandcastle、A HotDocumentでメソッド一覧を作成できます。

# 使用しているランタイム(.NET、CRT、Win32)のAPIを一覧する機能はないようです。

関数コールグラフ

動的な関数コールグラフ

.NET用プロファイラの機能を使用して取得が可能です。

DevPartner Studio

DevPartner Studioで動的な関数コールグラフを取得できそうです。

CLR プロファイラ

CLR プロファイラでも動的な関数コールグラフを取得できそうです。

その他

他にも色々な.NET用プロファイラがあるもよう・・・

補足(最新化): DevPartner Studio、CLR Profiler、NProf、EQATEC Profiler はいずれも開発終了。 現行は Visual Studio の診断ツール(パフォーマンス プロファイラー)や、 dotnet-trace / dotnet-counters / PerfView を用いる。

静的な関数コールグラフ

以下のOSS・製品が静的な関数コールグラフ出力に対応しているようです。

Doxygen

Doxygenは、異なる名前空間は解析しない等、解析範囲が限られそうです。
(UPからの共通部品の呼び出しなどは出力されない)

Understand

Understand(未評価)は、Doxygen より精度が高いようです。

  • Understand
    • 操作方法についてはUnderstandヘルプ
      「グラフィカルビューの使用 > クラスターグラフのレイアウトの制御」を参照下さい。

移行メモ: 元 Wiki には「添付:『Understand出力.png』を確認ください。」とあるが、 ダンプの添付ファイルには当該画像が存在しなかったため、記述を割愛した。

Visual Studio

  • Visual Studioには、呼び出し階層表示機能がある。
    • 最上位である Ultimate でのみ利用可能
    • Visual Studio IDE 上で表示できる
    • エクスポートなどの機能があるかは不明
  • コードの視覚化および理解

※ 現行のエディション構成は Community / Professional / Enterprise。 コード マップは Enterprise、呼び出し階層(Call Hierarchy)は全エディションで利用できる。

Eclipse

  • Eclipseには、呼び出し階層表示機能がある。
  • 一つづつメソッド呼び出し階層を表示出来るが、
    大量にある「共通関数」を一つづつでは効率が悪い。

単体テストのエビデンス

カバレッジ・ツール

テスティング・フレームワークを参照。

各種トレース機能

IIS、ASP.NETやSQL Server

IIS、ASP.NETやSQL Serverにもトレース相当のものはあります。
これは単純にMSミドルの機能としてサポートされているものです。

※ SQL Server Profiler / SQL トレースは非推奨。現行は拡張イベント(Extended Events)を使う。

Visual Studio

Visual Studioにも機能がありそうです。

Open棟梁

Open棟梁のトレース・ログ機能。

  • P層トレース(イベントハンドラの入り口)
  • B層トレース(B層メソッドの入り口)
  • D層 SQLトレース(SQL実行の度)

オブジェクトのダンプ部品もあるので組み合わせて使用できます。

ログ収集いろいろ

ログ収集いろいろ


Tags: テスト, デバッグ, .NET開発, ツール類

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally