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

ユーザー補助機能

Microsoft は、すべての人に使いやすい製品とサービスの提供に取り組んでいます。 キーボード ショートカット、テキスト リーダー、フォントやテーマを変更する機能など、アプリケーション検証ツール内でアクセシビリティを高める機能。

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

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

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

ログ

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

ログへのアクセス

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

Screenshot of Application Verifier displaying a single log for a 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%\system32\config\systemprofile\AppVerifierLogs、wow64 サービス/アプリの場合は %windir%\syswow64\config\systemprofile\AppVerifierLogs に保存されます。

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

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

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

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

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

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

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

保護されたプロセス ログ

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

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

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

[アプリケーション検証ツール - ログ] ウィンドウに、ログオンしているユーザーの %USERPROFILE% のログ ファイルが表示されることに注意してください。 保護されたプロセス ログをこの UI に表示する場合は、手動で %USERPROFILE%\AppVerifierLogs にコピーする必要があります。

プロパティウィンドウ

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

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

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

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

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

プロパティの設定

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

Screenshot of Application Verifier displaying properties for the Heaps test.

プロパティの設定

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

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

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

- Boolean、DWORD、String、MultipleString

Value - 変更可能で、型によって異なる要素

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

画像のプロパティの編集

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

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

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

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

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

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

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

Note

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

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

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

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

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

参照

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

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

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

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

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

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