アプリケーション検証ツール - 機能

ユーザー補助機能

Microsoft は、あらゆるユーザーの皆様に使いやすい製品とサービスをお届けできるように努めています。 キーボード ショートカット、テキスト リーダー、フォントやテーマを変更する機能など、アプリケーション検証ツール内でアクセシビリティを高める機能。

キーボード ショートカットの使用

アプリケーション検証ツールでキーボード ショートカットを使用すると、次の一般的なタスクをすばやく実行できます。

目的 使用するショートカット キー
テストするアプリケーションを追加する Ctrl + A
アプリケーションの削除 Ctrl + D
すべてのテストを有効にする Ctrl + E
すべてのテストを無効にする Ctrl + I
テストの既定値を復元する Ctrl + R
変更を保存する Ctrl + S
アプリケーション検証ツールを終了する Atl + E
プロパティ ウィンドウを開く Ctrl + P
ログ画面を開く Ctrl + L

ログ

アプリケーションの検証中に検証ツールの停止が発生すると、ログが生成されます。

ログへのアクセス

アプリケーション検証ツールには、以前に実行されたアプリケーションとそれらに関連付けられているログが含まれるログ ウィンドウが表示されます。 ログ ウィンドウにアクセスするには、[表示] メニューの [ログ] を選択します。 ログの詳細を表示するには、アプリケーションの名前を選択します。

screen shot of application verifier showing single log for one app test app.

ログを XML に保存/エクスポートする

ログを XML にエクスポートする場合は、Microsoft Excelなどの外部ツールでログ ファイルを開くことができます。 ログを XML にエクスポートするには、アプリケーションを選択し、エクスポートするログを選択します。 [名前を付けて保存] をクリックし、ファイルとその場所を指定する名前を入力し、[保存] をクリックします。

ログのフィルター処理

重大度などの項目のログ情報をフィルター処理したり、警告のみを表示したり、カスタム フィルターを定義してアプリケーションを含む項目のみを表示できる場所をトレースしたりできます。 ログをフィルター処理するには、Excelなどのスプレッドシートを使用する方法があります。

  1. ログを XML に保存し、Excelで開きます。
  2. Excelで、最初の行 (列ヘッダーを含む) を強調表示します。
  3. [データ] メニューの [フィルター] をクリックし、[オートフィルター] をクリックします。

ログの削除

アプリケーション検証ツールを使用すると、ログを個別に削除するか、アプリケーションを削除して、それに関連付けられているすべてのログを削除できます。

ログを個別に削除するには、ログを選択して [削除] をクリックするか、ログを右クリックして [削除] を選択します。

アプリケーションを削除し、関連付けられているすべてのログを削除するには、アプリケーション名を右クリックし、[削除] を選択します。

すべてのログを削除するには:

  1. アプリケーション検証ツールのメイン ウィンドウを開きます。

  2. [ファイル] メニューの [ すべてのログのクリア] を選択します。

スタンプの追加

プロセスが実行されている場合は、関連付けられているログ ファイルにスタンプを追加できます。 スタンプ情報には、現在の時刻などの任意の文字列を指定できます。 後で、この情報をフィルターとして使用して、目的のログを取得できます。

ログ ファイルにスタンプを追加するには:

  1. ログ ファイルを選択し、[スタンプの 追加] をクリックします。

  2. スタンプ情報として文字列を入力します。

出力オプション

既定では、ユーザー アカウントで実行されているサービス/アプリのログは、次 %USERPROFILE%\serviceprofiles\AppVerifierLogsの下に格納されます。

ローカル サービス アカウントで実行されているサービス/アプリの場合、ログ ファイルは次の下に書き込まれます。 %windir%\serviceprofiles\LocalService\AppVerifierLogs

システム アカウントで実行されているサービス/アプリの場合、ログ ファイルはネイティブ サービス用と %windir%\syswow64\config\systemprofile\AppVerifierLogs wow64 サービス/アプリ用に格納されます%windir%\system32\config\systemprofile\AppVerifierLogs

ネットワーク サービス アカウントで実行されているサービス/アプリの場合、ログ ファイルは次 %windir%\serviceprofiles\NetworkService\AppVerifierLogsの下に格納されます。

アプリケーションに既定のログ ファイル パスでログ ファイルを書き込み/作成するアクセス許可がない場合は、エラー 0xC0000022で失敗します。

VERIFIER_LOG_PATH環境変数を設定すると、既定のログ ファイルの作成がオーバーライドされます。 これは、すべてのログ ファイルを 1 つの場所に格納する場合に便利です。

保護されたプロセスは環境変数にアクセスできないため、ログ ファイルを作成できません。 これを回避するには、AppVerif.EXE コマンド ライン appverif.exe –sppath <drive:>\<path> を使用して保護されたプロセス ログ パスを設定し、保護されたログ パスを設定します。

コマンド ライン。 appverif.exe –cppath は、保護されたログ パスをクリアします。

シンボル パス – シンボル パスは、ログ ファイル内のスタック トレースを解決するために使用されます。 シンボル パスを指定しない場合、アプリケーション検証ツールは自動的に_NT_SYMBOL_PATHを確認し、そこにシンボル パスが指定されているかどうかを確認します。

開始、終了 – 開始スタンプと終了スタンプを指定できます。 ログの内容は、差出人スタンプが挿入された後、および終了スタンプが挿入される前にのみ記録されます。 From スタンプまたは To スタンプを指定しない場合、アプリケーション検証ツールはファイルの先頭からファイルの末尾までのログをそれぞれ表示します。

保護されたプロセス ログ

アプリケーション検証ツールのログ ファイルの作成は、VERIFIER_LOG_PATHや %USERPROFILE% などの環境変数によって異なります。 保護された (セキュリティで保護された) プロセスなどのプロセスがこれらの環境変数にアクセスできない場合、ログ ファイルの作成に失敗します。 次のコマンド ライン オプションを使用して、保護されたプロセス ログ パスを設定またはクリアできます。 このログ パスは、プロセスが VERIFIER_LOG_PATH または %USERPROFILE% の下にログ ファイルを作成できない場合にのみ使用されます。

保護されたプロセス ログ パスを設定するには:

appverif –sppath [PROTECTED_PROCESS_LOG_PATH]

例: 次のコマンド ラインは、保護されたプロセス ログ パスを "c:\My Logs\Verifier Logs" に設定します。

appverif –sppath c:\My Logs\Verifier Logs

注: "c:\My Logs" が存在し、保護されたプロセスにこのパスにファイルを作成するアクセス許可があることを確認します。

次のコマンド ラインは、既存の保護されたプロセス ログ パスを示しています。

appverif –sppath

既存の保護されたプロセス ログ パスを表示してクリアするには、次のコマンド ラインを使用します。

appverif -cppath

"Application Verifier –Logs" ウィンドウには、ログオンしているユーザーの %USERPROFILE% にログ ファイルが表示されることに注意してください。 保護されたプロセス ログをこの UI に表示する場合は、手動で %USERPROFILE%\AppVerifierLogs にコピーする必要があります。

プロパティ ウィンドウ

[プロパティ] ウィンドウでは、各検証レイヤーとチェックのさまざまな設定にアクセスできます。

プロパティ ウィンドウへのアクセス - プロパティ ウィンドウは、画面の下半分にその情報を表示します。

[プロパティ] ウィンドウを表示するには、[表示] メニューの [プロパティ ウィンドウ] を選択します。 プロパティ ウィンドウの選択の横にチェック マークが表示されます。

プロパティ ウィンドウを閉じる - 必要に応じて、ビューからプロパティ ウィンドウを削除できます。

プロパティ ウィンドウを閉じるには、[表示] メニューの [プロパティ ウィンドウ] を選択します。 プロパティ ウィンドウの選択の横にあるチェック マークがオフになります。

プロパティの設定

各検証レイヤーには、設定と変更を行う独自のプロパティ セットがあります。 検証レイヤーのプロパティを設定するには、テスト領域内のレイヤー ([基本] など) を選択します。 この手順では、選択したテストのプロパティが表示されます。

screen shot of application verifier showing properties for the heaps test

プロパティの設定

アプリケーション検証ツールには 2 つのプロパティ セットがあります。 1 つは特定の検証レイヤー内のチェックに基づいていますが、もう 1 つはイメージ (ソリューションまたはプロジェクト) に基づいています。 これらのプロパティは、[プロパティ] ウィンドウからアクセスします。

アプリケーション検証ツールには、編集が許可されている各プロパティに関する次の情報が表示されます。

名前 - 各プロパティの一意の名前

- ブール値、DWORD、文字列、MultipleString

Value - 型に基づいて変更および変更できる要素

説明 - 説明は、プロパティが何であるかを説明します。

画像のプロパティの編集

アプリケーション検証ツール内でテストされている各イメージについて、次の内容を編集できます。

伝達 - 検証ツールの設定を親プロセスから子プロセスに伝達します。 すべてのテストを反映できるわけではありません。 このプロパティが有効になっている (チェック ボックスがオン) 場合、設定が反映されます。 それ以外の場合、設定は反映されません。

AutoClr - 指定したイメージの実行が開始されると、検証済みのイメージによってそれ自体の設定がクリアされます。 このプロパティが有効になっている (チェック ボックスがオン) 場合、検証済みのイメージによって設定がクリアされます。 それ以外の場合、設定はクリアされません。

AutoDisableStop - 検証ツールは、見つかった同じ問題に対して 1 回だけ苦情を申し立てることができます。 検証ツールで同じ問題が再び見つかると、エラーは生成されません。 このプロパティが有効になっている (チェック ボックスがオン) 場合、Verifier は特定の問題に対して 1 つのエラーのみを生成します。 そうしないと、問題が発生するたびに検証ツールによってエラーが生成されます。

LoggingOnLocksHeld - dll の読み込み/アンロード イベントがログに記録されます。 ローダー ロックが保持されているときに、検証ツールが I/O を実行しています。 これにより、アプリケーションがハングする可能性があります。 このプロパティが有効になっている (チェック ボックスがオン) 場合、イベントはログに記録されます。 それ以外の場合、イベントはログに記録されません。

ExceptionOnStop – 検証ツールの停止ごとに、デバッグ中断の代わりに例外が発生します。 このプロパティが有効になっている (チェック ボックスがオン) 場合、Verifier によって報告される各停止によって例外が発生します。 それ以外の場合は、検証ツールによって報告された各停止がデバッガーに分割されます。

MinimumMemoryOverhead – デバッグに使用する機能の一部を無効にすることで、メモリ オーバーヘッドを削減します。 このプロパティが有効になっている (チェック ボックスがオン) 場合は、一部の機能が無効になっているので、メモリのオーバーヘッドが軽減されます。 それ以外の場合、機能は無効になりません。

注意

メモリ オーバーヘッドを減らす必要がある場合を除き、MinimumMemoryOverhead プロパティを有効にしないでください。 このプロパティを有効にすると、デバッグ情報が見つからないため、エラーの診断が困難になります。

チェックのプロパティの設定/編集

プロパティはチェックに関連付けられているため、詳細なフィールド情報については、これらのトピックを参照してください。 プロパティを編集するには、次の 2 つの方法のいずれかを実行します。

個別 - プロパティ ウィンドウ内で、編集するプロパティをダブルクリックします。 これにより、アイテムを編集したり、既定値に戻したりできるダイアログが表示されます。 エントリを変更し、[OK] をクリックします。

グループ - [テスト] 領域で、編集する必要があるテストまたは検証レイヤーをクリックします。 右クリック オプションを使用して、すべてのプロパティの画面を表示します。 プロパティを変更するか、既定値に戻して [OK] をクリックします。

参照

アプリケーション検証ツール - 概要

アプリケーション検証ツール - アプリケーションのテスト

アプリケーション検証ツール - アプリケーション検証ツール内のテスト

アプリケーション検証ツール - 停止コードと定義

アプリケーション検証ツール - アプリケーション検証ツール停止のデバッグ

アプリケーション検証ツール - よく寄せられる質問