Open棟梁Project - マイクロソフト系技術情報 Wiki * 目次 [#n9108cd7] #contents *使用APIの一覧 [#g8ee7774] Doxygen、Sandcastle、A HotDocumentでメソッド一覧を作成できます。~ -[[ドキュメンテーション・ツール]] ただし、使用しているランタイム(.NET、CRT、Win32)のAPIを一覧する機能はないようです。 *関数コールグラフ [#ja5bbf32] **動的な関数コールグラフ [#v0f96ce8] .NET用プロファイラの機能を使用して取得が可能です。 ***DevPartner Studio [#m0234a47] DevPartner Studioで動的な関数コールグラフを取得できそうです。 -DevPartner Studio Professional Edition~ http://www.microfocus.co.jp/products/devpartner/devpartner_fm/library/files/DevPrtnr_10_5.pdf ***CLR プロファイラ [#h4820c50] CLR プロファイラでも動的な関数コールグラフを取得できそうです。 -How To 情報 CLR プロファイラの使用方法~ http://msdn.microsoft.com/ja-jp/library/ff650691.aspx ***その他 [#gb1a5285] 他にも色々な.NET用プロファイラがあるもよう・・・ -フリーの.NET用プロファイラを使ってみました(NProf, EQATEC Profiler) - ふにゃるん~ http://d.hatena.ne.jp/Wacky/20080823/1219500273 **静的な関数コールグラフ [#wb6377f9] 以下のOSS・製品が静的な関数コールグラフ出力に対応しているようです。 ***Doxygen [#j6b64373] Doxygenは、異なる名前空間は解析しない等、解析範囲が限られそうです。~ (UPからの共通部品の呼び出しなどは出力されない)~ -無為空間 コールグラフを出してみる(Doxygen)~ http://idlysphere.blog66.fc2.com/blog-entry-176.html ***Understand [#y1394dc8] Understand(未評価)は、DoxyGenより精度が高いようです。 -Understand~ http://www.techmatrix.co.jp/quality/understand/index.html~ --操作方法についてはUnderstandヘルプ~ 「グラフィカルビューの使用 > クラスターグラフのレイアウトの制御」を参照下さい。 --添付:「Understand出力.png」を確認ください。 ***Visual Studio [#kfb8b8a1] -Visual Studioには、呼び出し階層表示機能がある。 --最上位である Ultimate でのみ利用可能 --Visual Studio IDE 上で表示できる --エクスポートなどの機能があるかは不明 -コードの視覚化および理解~ http://msdn.microsoft.com/ja-jp/library/dd409365.aspx ***Eclipse [#vfdc03b5] -Eclipseには、呼び出し階層表示機能がある。 -一つづつメソッド呼び出し階層を表示出来るが、~ 大量にある「共通関数」を一つづつでは効率が悪い。 *単体テストのエビデンス [#gf74a421] **カバレージ・ツール [#u0f3e95f] C0、C1、RC0、マージツールなどのカバレージ機能がある。 -C0~ テストで通過したステートメントの百分率 -C1~ テストで通過した分岐の百分率 -RC0~ テストで通過した差分部分のステートメントの百分率 -マージツール~ テスト結果をマージする機能 ***OpenCover [#k3cb74af] -.NETでのカバレッジ計測ツールOpenCover - Yasuo's Notebook~ http://yasuo.hatenablog.com/entry/2011/12/31/221216 CI的にNUnit+OpenCover+ReportGeneratorと利用すると強力です。 -ただし、単体テストコード開発には相応の工数がかかるため、~ インクリメンタル開発でない受託開発の場合は工数削減にならない可能性があります。 -共通部品の範囲などはコレでいいかもしれませんが、~ DBMSアプリケーションの場合、アサートの実装なども難しくなるので検討が必要。 -ご参考~ https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/C%23/Tests/Public.Test >ビルドして下位フォルダのバッチを起動すると、~ テストが実行され、カバレージレポートまで取得できます。 **各種トレース機能 [#t3e531ff] ***IIS、ASP.NETやSQL Server [#pfcffa99] IIS、ASP.NETやSQL Serverにもトレース相当のものはあります。~ これは単純にMSミドルの機能としてサポートされているものです。 -IIS~ IIS6.0、7.0、7.5、8.0等、バージョン毎の資料を参照のこと。 --IISのログ・ファイル・フォルダを変更する - @IT~ http://www.atmarkit.co.jp/fwin2k/win2ktips/525iislogs/iislogs.html -ASP.NET --.NET TIPS [ASP.NET]ページのトレース情報を出力するには? - Webフォーム~ http://www.atmarkit.co.jp/fdotnet/dotnettips/040trace/trace.html -SQL Server --SQL Server Profiler を使用したトレースの表示と分析~ http://technet.microsoft.com/ja-jp/library/ms175848.aspx ***Visual Studio [#b63728d1] Visual Studioにも機能がありそうです。 -方法 スタック トレースを表示して失敗箇所に移動する~ http://msdn.microsoft.com/ja-jp/library/bb514156.aspx -Visual Studio 2010の新機能「IntelliTrace」 - @IT~ http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_02/vsdebug_02_01.html --最上位である Ultimate でのみ利用可能 --Visual Studio IDE 上で表示できる --エクスポートなどの機能があるかは不明 ***Open棟梁 [#je281647] Open棟梁のトレース・ログ機能。 -P層トレース(イベントハンドラの入り口) -B層トレース(B層メソッドの入り口) -D層 SQLトレース(SQL実行の度) オブジェクトのダンプ部品もあるので組み合わせて使用できます。 -ObjectInspectorクラスはOpen棟梁の提供する部品です。~ https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/ObjectInspector.cs **関数コールグラフ [#p9d4c830] 前述の[[動的な関数コールグラフ>#v0f96ce8]]を使用できる。