(解析環境が変わるたびに、シンボルサーバーのパスが分からなくなったりするので。。)
★解析ツール(自環境でのインストール先のメモ書き)
○Microsoft SDK (WinDbg, Gflags, UMDH, Xperf, WPA, etc)
⇒
・個別にアプリをインストールする事も出来るが全部入れちゃう。
⇒
・すべての Sysinternals ユーティリティをまとめたパッケージ。
・いずれも単独実行可能。インストーラは無い。「C:\Program Files\Sysinternals\」へ一式配置。
○CLR Profiler
○PerfMonitor
⇒
・単独実行可能。インストーラは無い。「C:\Program Files\Sysinternals\」へ配置。
○PerfView
⇒
・単独実行可能。インストーラは無い。「C:\Program Files\Sysinternals\」へ配置。
○CLR Profiler
○PerfMonitor
⇒
・単独実行可能。インストーラは無い。「C:\Program Files\Sysinternals\」へ配置。
○PerfView
⇒
・単独実行可能。インストーラは無い。「C:\Program Files\Sysinternals\」へ配置。
★システム環境変数
○シンボルファイルへのパス
変数名:「_NT_SYMBOL_PATH」
変数値:「C:\MySymbols;srv*C:\MSSymbols*http://msdl.microsoft.com/download/symbols」
⇒
・区切り文字は「;」。
・探索順は先頭から。
・「C:\MySymbols」は自前のシステムのシンボルファイルが置かれている場所のパス。
※基本的には実行ファイルのインストール先にシンボルも存在するので適宜変更する。
・「C:\MSSymbols」はローカルシンボルキャッシュのパス。
※これを指定しないと毎度サーバーから必要なシンボルがダウンロードされる。
※スタンドアロンの環境で解析する際には、
ダウンロード済みの「C:\MSSymbols」を丸ごと移行すれば良い。
ただし、OSのバージョンが異なる場合はMicrosoftのHPから取得してくる必要がある。
○シンボル情報のキャッシュを保存するパス
変数名:「_NT_SYMCACHE_PATH」
変数値:「C:\SymCache」
⇒
・WPA(Windows Performance Analyzer)がシンボル情報のキャッシュの保存先として利用する。
○PATH
変数名:「Path」
変数値:「適宜追加」
⇒
・コマンドラインから実行ファイル名で解析ツールを開きたいので実行ファイルのパスを適宜追加。
・「C:\Program Files\Sysinternals\」 ※自分はいつもここに一式配置。
・「C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\」
・「C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\」
○BSTR cachingの無効化
変数名:「OANOCACHE」
変数値:「1」
⇒
・UMDHでメモリリークの解析を行う前に実施。
・これによりBSTR起因のメモリリーク誤検出を防ぐ。
★レジストリ
○カーネルコードページのページアウトを無効化
キー:「HKEY_LOCALMACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive」
設定値:DWORD 「0x1」
⇒
・Xperfでカーネルトレースをキャプチャする時だけ事前に設定しておく。
・64ビット版のOSのみ設定が必要。設定したらPCを再起動。
・キャプチャが終わったら設定を元に戻しておく。
※無効化したままだとシステムのワーキングセットが数MByteずつ増えてしまう可能性あり。
[参考]
0 件のコメント:
コメントを投稿