ADPlus.vbs を使用して「ハング」および「クラッシュ」をトラブルシューティングする方法

文書翻訳 文書翻訳
文書番号: 286350 - 対象製品
この記事は、以前は次の ID で公開されていました: JP286350
すべて展開する | すべて折りたたむ

目次

概要

ADPlus.vbs (ADPlus) ツールは、任意のプロセスまたはアプリケーションが応答を停止 (ハング) または、(クラッシュ) のトラブルシューティングを行うことができます Microsoft 製品サポート サービス (PSS) からです。多くの場合、Microsoft インターネット インフォメーション サーバー (IIS) 監視 (6.1 と 7.1) およびユーザー モード プロセスのダンプを ADPlus を交換用のツールとして使用できます。これらは PSS では、プロセスが応答を停止 (ハング) またはが予期せず終了する原因を特定するのには頻繁に使用する 2 つの独立したツールですが (クラッシュ)、Microsoft Windows DNA 環境で。

詳細

システム要件

ADPlus は、次の最小要件があります。
  • Windows NT 4.0 Service Pack 4 以降
  • Windows スクリプト ホストのバージョン 5.6 以降
  • ADPlus が出力ファイルを置くディスクまたはネットワーク共有に、少なくとも 10 メガバイト (MB) の空き領域
  • Microsoft Windows 用デバッグ ツールをインストール

ADPlus の入手場所


ADPlus は、最新 Microsoft Windows 用デバッグ ツールが含まれています。最新 Microsoft Windows 用デバッグ ツールを入手するのには、次のマイクロソフト web サイトを参照してください。
http://www.microsoft.com/whdc/devtools/debugging/default.mspx

デバッグ ツールのインストール オプション画面で Windows SDK セットアップ ウィザードでの 2 つの場所に表示されます。作業をしている、コンピューターに Windows 用デバッグ ツールをインストールする場合は、選択する必要があります、Windows 用デバッグ ツールのオプション一般的なユーティリティ.Windows 用デバッグ ツールを他のコンピューターに設定する場合は、選択する必要があります、デバッグ ツールのオプション 再頒布可能パッケージすべての 3 つのバージョン (x86、x64、Itanium) のデバッグ ツールのインストール パッケージをダウンロードします。

メモ Microsoft Windows 用デバッグ ツールの最新バージョンは、Windows SDK の一部として提供されます。また、ファイル名は ADPlus_Old.vbs に ADPlus.vbs から変更されました。また、ADplus.exe が追加されました。のみを入力すると、ADplus.exe が実行されます。adplus.ADplus.exe と ADPlus_Old.vbs と同じです。この記事は、.vbs のバージョンのみを示しています。バージョンを .vbs を実行する場合は、入力する必要があります。ADPlus_old.vbs.


ADPlus のバージョン 6.0 の新機能

ADPlus の V6.0 に完全に書き換えられました。ツールには、新しいスイッチと新しい機能があります。ここでは、外部の構成ファイルを使用、ツールを構成できます。Microsoft Windows デバッガー パッケージのデバッガーのヘルプ ファイル (について) の新機能とスイッチに関する最新の情報を表示できます。

については、ADPlus.vbs と同じフォルダーにあります。ADPlus のドキュメントを検索するのをクリックして、 内容 タブをクリックし、次の項目を使用] をクリックします。
  • Windows 用デバッグ ツールの使用
  • クラッシュ ダンプ ファイル
  • ユーザー モードのダンプ ファイル
  • ユーザー モードのダンプ ファイルを作成します。
  • ADPlus
クリックして ADPlus のドキュメントを見つけることもできます、 インデックス タブの種類 ADPlus [キーワード] ボックスにします。

ADPlus の機能

ADPlus は Microsoft Visual Basic スクリプトのコンソール ベースです。それはメモリ ダンプを生成して、1 つまたは複数のプロセスからのデバッグ出力を含むファイルをログに記録するのには Microsoft CDB デバッガーを自動化します。ADPlus を実行するたびにデバッグ情報 (メモリ ダンプおよびデバッグ情報を含むテキスト ファイル) に、一意な名前の新しいフォルダー (C:\Temp\Crash_Mode__Date_01-22-2001__Time_09-41-08AM) などのローカル ファイル システム上またはリモート ネットワーク共有に配置されます。また、ADPlus を作成します。 各ファイルに一意の名前 (PID-1708__Inetinfo.exe__Date_01-22-2001__Time_09-41-08AM.log) など新しいものに古いファイルが上書きされないようにするのには. します。

ADPlus は、ユーザー モードのプロセスやインターネット インフォメーション サービス (IIS)、Microsoft トランザクション サーバー (MTS)、Microsoft COM + アプリケーションなどのサービスを動作します。

ADPlus の機能の一部を次に示します。
  • ADPlus 強化された機能、速度、および信頼性を最新のマイクロソフトのデバッガーを使用します。
  • ADPlus は、複数のプロセスのメモリ ダンプとは、各プロセスを凍結して、同時にダンプできるようにが非同期に実行します。このメソッドは効果的な「スナップショット」を ADPlus が実行された時点における、アプリケーション全体を提供することができます。アプリケーションを構成するすべてのプロセスと同時に、アプリケーションを使用して、問題が発生した時点のアプリケーションの状態を把握しているすべてのプロセスをキャプチャする必要があります。これは、他のプロセスへのリモート プロシージャ コールを行うアプリケーションにとって特に重要です。
  • ADPlus のコマンド ライン インターフェイスを使用します。ADPlus にはグラフィカル ユーザー インターフェイスがあるないためは、(ダイアログ ボックスを表示するのには)、非表示モードでリモート コマンド シェル (Remote.exe を使用してリモートで実行したコマンド シェル) から実行できます。Quiet モードでは、エラー コンソールに表示され、イベント ログに書き込まれます。リモート コマンド シェルから ADPlus を実行する方法の詳細については、この資料の「使用例」セクションを参照してください。
  • 使用している場合、の通知ADPlus のクラッシュを監視し、Windows Messenger サービスが開始されて、通知できますユーザーまたはコンピューターにクラッシュ Windows Messenger サービスを使用する場合のスイッチ。
  • クラッシュが発生した場合は、ADPlus をクラッシュ モードでは、プロセス監視、ADPlus クラッシュの種類に関する重要な情報がイベント ログに送ります。
  • ADPlus は、XCOPY 配置をサポートします。ADPlus を使用するテスト用コンピューターに含まれている、デバッガー パッケージをインストールすると、別のコンピューターに、デバッガーがインストールされたフォルダーをコピーできます。さらに、ADPlus は、カスタムのコンポーネント オブジェクト モデル (COM) コンポーネントをシステムに登録することは要求されません。このため、ADPlus、ソフトウェア構成を持つ運用サーバーで使用することができます。ADPlus を削除するのには、されたインストールまたはコピーするのには、フォルダーを削除します。

いつ ADPlus を使用する必要があります。

ADPlus は Microsoft PSS のサポート担当者は、複雑な環境で発生する問題の原因を特定する必要がありますデバッグ情報を提供するものです。

ADPlus を使用して、次の問題が発生した場合にデバッグ情報を収集するのには。
  • プロセスが応答を停止します。
  • シングル プロセッサのコンピューターでは、デュアル プロセッサのコンピューターでは、4 プロセッサ コンピューターで 25 %cpu の 50% の CPU の 100% の CPU を消費していうように処理します。
  • クラッシュまたは予期しないシャット ダウンのプロセス。

ADPlus を使用すべきでない場合は?

ADPlus では、次の状況では使用できません。
  • プログラムのトラブルシューティングを行うか、処理する必要がある場合はスタートアップ時に異常終了します。ADPlus は、正常に起動プロセスにのみ使用できます。起動中が予期せず終了するプロセスのトラブルシューティングを行うには、ユーザー モード プロセスのダンプより優れたソリューションことがあります。 ユーザー モード プロセスのダンプの詳細については、マイクロソフト サポート技術情報の資料を参照する次の資料番号をクリックします。
    253066OEM のサポート ツールのフェーズ 3 の Service Release 2 の可用性
    また、最新のデバッガーを使用して手動でプロセスをデバッグできます。最新のデバッガーの詳細については、次のマイクロソフト web サイトを参照してください。
    http://www.microsoft.com/whdc/devtools/debugging/default.mspx
  • Crash モードの ADPlus を使用するときにパフォーマンス上に大きな影響があるとします。通常、このダイナミック リンク ライブラリ (Dll) が原因で発生しますかそのをスローするプログラムの多くの Microsoft Visual C++ EH 例外。(この例外 C++ throwステートメントを使用する場合、またはtry と catchブロックを使用すると発生します。)デバッグ出力ストリームに大量の情報を記述するプログラムも、パフォーマンスを低下させるがあります。Crash モードで実行すると、ほとんどの場合、ADPlus パフォーマンス著しく影響しません。
  • クラスター環境で実行している場合は、ADPlus を使用すると、一定の対策してください。詳細については、以下の記事番号をクリックして、マイクロソフト サポート技術情報資料を参照してください。
    841673クラスター内のサーバ ADPlus またはユーザー ダンプでは、Exchange 2000 を使用して、インフォメーション ストアのダンプ ファイルを作成するときに、上で Server または Exchange Server 2003年失敗可能性があります。

ADPlus の動作方法

ADPlus は、2 つの操作モードがあります。
  • 「ハング」モードは、プロセスがハングする、100% の CPU 使用率、およびクラッシュと関係のないその他の問題のトラブルシューティングに使用されます。ADPlus を hang モードで使用して、処理されるまで待機する必要があり、プロセスでは、スクリプトを実行する前に応答を停止 (クラッシュ モードとは異なり、hang モード永続的ではありません)。
  • 「クラッシュ」モードを使用してクラッシュのトラブルシューティングを行うには、結果、ワトソン博士のエラー、またはその他種類のエラー、プログラムまたはサービスが予期せず終了する原因とします。Crash モードの ADPlus を使用する場合は、ADPlus のクラッシュが発生する前に開始する必要があります。管理者またはコンピューターにクラッシュを通知する瞬間することができます、 ・通知するスイッチします。

モードをハングアップします。

このモードでは、ADPlus はすぐに、スクリプトが完了すると、コマンド ・ ラインで指定されているすべてのプロセスのフル メモリ ダンプを生成します。作成された各 .dmp ファイルは、ADPlus が実行されたときに、日付と時刻のスタンプが含まれているフォルダーに配置されます。ADPlus 実行時各ファイル名には、プロセス名、プロセス ID、および日付と時刻のスタンプが含まれます。プロセスのメモリをファイルにダンプされている間、プロセスがフリーズします。メモリ ダンプ ファイルを作成した後は、CDB デバッガーと待合室のアタッチとデタッチを使用して、プロセスが再開されます。

使用法のヒントHang モードは、Userdump.exe します。さらに、モードの動作中は、ターミナル サーバー セッションがハングします。

Crash モード

このモードでは、ADPlus コマンド ・ ラインで指定されているすべてのプロセスに CDB デバッガーがアタッチします。ADPlus は自動的に、次の種類の例外を監視するのには、デバッガーを設定します。
  • ハンドルが無効です。
  • 無効な命令
  • 0 による整数除算
  • 浮動のポイントの 0 による除算
  • 整数のオーバーフロー
  • 無効なロック シーケンス
  • アクセス違反が発生
  • スタック オーバーフロー
  • C++ EH 例外
  • 不明な例外
これらの種類の例外処理のトラブルシューティングを行う場合 IIS 例外モニターや Userdump.exe の代わりに crash モードの ADPlus を使用できます。クラッシュ モードは「干渉」は CDB デバッガーをアタッチするため、Microsoft Windows NT 4.0 または Windows 2000 ターミナル サーバーのセッション中は機能しません。待合室のアタッチの使用を必要とするためモード機能は、ターミナル サーバー セッション内でこれらのオペレーティング システムがハングするだけ。方法の詳細については? v と待合室プロセスに、最新のデバッガーのアタッチは、」を使用したデバッグ ツールを Windows: (ユーザー モード) 実行中のプロセスにアタッチする」セクションでは、デバッガーのヘルプ。

メモ クラッシュ モードは、ターミナル サーバー セッションの Windows XP および Microsoft Windows Server 2003 オペレーティング システムでサポートされます。

ADPlus を crash モードで実行している場合は、デバッガーは致命的な例外がトラップされてプロセスが予期せずに終了するまで、またはユーザーがそのプロセスからデバッガーをデタッチするのには、CTRL キーを押しながら C キーを押すまで、コマンド行でそのプロセスの有効期間を指定されている各プロセスにアタッチされたままになります。手動でプロセスからデバッガーをデタッチするのには、デバッガー ウィンドウを最大化し、デバッガーを中断するのには、CTRL キーを押しながら C キーを押す必要があります。

CTRL キーを押しながら C キーを押すと、ADPlus そのコマンドをトラップのスタックをログ ファイルへのすべてのスレッドを開始してからデバッガーをデタッチする前にミニ メモリ ダンプ レコードのプロセスを生成します。前の crash モードを実行するために、デバッガーがデタッチされたとき、プロセスが停止されます。プロセスを再起動する必要があります。MTS または COM + プロセスの場合は、プロセスが自動的に行われるため、パッケージ内のコンポーネントを次に再起動されます。

最初のチャンス例外

各種類の例外 (アクセス違反やスタック オーバーフロー) など、デバッガーは最初のチャンス例外または2 番目の例外のいずれかに発生します。定義では、最初のチャンス例外は正しくエラー ハンドラーを使用して処理しない限り、致命的ではないです。この問題が発生した場合は、もう一度、(デバッガーだけこれらは例外として例外を発生します。デバッガーが例外を処理しない場合は、アプリケーションを終了します。

詳細についての最初と機会の例外、および Windows NT の SEH (構造化例外処理)、次の資料番号をクリックして、マイクロソフト サポート技術情報の資料を参照するのには。
105675最初と 2 番目のチャンス例外の処理
既定では、ADPlus 初回 (致命的な) 例外のすべての種類の例外を除く不明と EH 例外を検出した場合は、次の操作です。
  1. 監視中のプロセスのログ ファイルに例外の発生日時をログに記録するのには、プロセスを停止します。
  2. 監視中のプロセスのログ ファイルに例外を発生させたスレッドのスレッド ID とコール スタックが記録されます。
  3. 例外発生時のプロセスを一意に名前付きのミニ メモリ ダンプ レコード (.dump-u/m) を生成し、処理を再開します。
メモ このような例外が頻繁に発生するため既定では、ADPlus は、一意のミニ メモリ ダンプ レコードは、初回の first-chance EH および不明な例外発生しません。通常、このような例外はエラー処理はプロセスまたは DLL 内のコードによって処理されます。これら処理済みの例外なのでは、2 つ目の (例外) の初回例外になることし、プロセスを終了できません。

ただし、初回の first-chance EH および不明な例外の一意のミニ メモリ ダンプを作成する ADPlus を構成できます。これを行うには、ADPlus をカスタマイズするのには、構成ファイルを使用する必要があります。

2 つ目の例外

ADPlus (致命的な) 例外のすべての種類の例外 (EH および不明な例外を含む) を検出するは、次の操作を行います。
  1. 監視中のプロセスのログ ファイルに例外の発生日時をログに記録するのには、プロセスを停止します。
  2. 監視中のプロセスのログ ファイルに例外を発生させたスレッドのスレッド ID とコール スタックが記録されます。
  3. 致命的な例外が発生した時点でのプロセスのフル メモリ ダンプを生成し、デバッガーを終了します。このアクションは、プロセスを破棄します。
メモ メモリダンプを分析するマイクロソフト PSS サポート担当者は、カスタム コンポーネントや Dll は、対応するシンボル ファイルのコピーを取得する必要があります。Dll のシンボル ファイルを作成する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するのには、次の資料番号をクリックします。
121366Pdb ファイルと DBG ファイル - どのようなものし、どのように動作
291585 デバッグ シンボルを Visual C++ アプリケーションを作成する方法
シンボル (デバッガーによるメモリ ダンプの分析に必要) のマイクロソフト製品を入手する方法の詳細については、次のマイクロソフト web サイトを参照してください。
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx

ADPlus のコマンド ライン スイッチ

ADPlus を使用するのには、一連のコマンド ライン スイッチまたは、スクリプトへの引数を指定してください。2 つのスイッチの ADPlus には、少なくとも必要があります。 操作のモードを指定すると、ターゲット プロセスに対して動作を指定します。

最も頻繁に使用されるスイッチは次のとおりです。ADPlus の ?helpを実行することによって完全なスイッチの一覧を表示したり、デバッガーを表示することでヘルプのファイル (について)。
  • -ハング
    このスイッチは、ADPlus を hang モードで実行する構成します。このスイッチは、 -iis-pn、または-pスイッチと共に使用する必要があります。使用することはできません-切断-クラッシュスイッチします。

    メモ ADPlus を hang モードで実行している場合は、プロセスが応答を停止または、CPU の割合が高いを消費している ADPlusを開始する必要があります。
  • -クラッシュ
    このスイッチは、ADPlus を crash モードで実行する構成します。このスイッチは、 -iis-pn、または-pスイッチと共に使用する必要があります。使用することはできません-クラッシュ・ ハングスイッチします。

    メモ ADPlus を crash モードで実行している場合は、プロセスが unexpectedlys を終了したり不安定になる ADPlusの前に開始する必要があります。
  • pn プロセス名
    -Pnスイッチは、ADPlus で分析するプロセス名を指定する使用されます。1 つ以上のプロセスを指定するのには、複数を使用します。 pn プロセス名 切り替えます。例を示します。
    pn - process1.exe pn-process2.exe
  • -p プロセス ID
    -Pスイッチは、プロセス ID (PID)、ADPlus で分析するプロセスの指定に使用されます。1 つ以上のプロセスを指定するのには、複数を使用します。 -p PID 切り替えます。例を示します。
    -p 示します
  • -scコマンドの起動
    -Pnスイッチおよび-pスイッチ、デバッガーをアタッチする実行されているプロセスを指定とは異なり、 -scスイッチ アプリケーションと開始 (または起動) しますデバッガーで定義します。例を示します。
    ・ sc」c:\windows\system32\notepad.exe
  • -iis
    スイッチは、インターネット インフォメーション サービス (IIS) 4.0 以降を実行しているサーバー コンピューターのデバッグに使用されます。ADPlusスイッチのADPlus を使用すると、すべての IIS のプロセス (Inetinfo.exe) とアウト プロセス (Mtx.exe/Dllhost.exe) アプリケーションを監視します。-Pnスイッチまたは-pスイッチで、スイッチを使用することができます、または単独で IIS およびすべての実行中 MTS を分析する使用することができますまたは COM + アプリケーションのどちらかがクラッシュ モード モードまたはハングします。

    IIS 3.0 を実行しているサーバー コンピューターの分析中に、またはそれ以前の場合は、 -pnスイッチを使用して、監視するプロセスとして Inetinfo.exe を指定します。
  • -通知 コンピューター名 または ユーザー名
    このスイッチは、ADPlus をクラッシュ モードで実行している場合にのみ有効です。このスイッチは、指定したユーザー名またはコンピューター名にクラッシュが通知されるように指示します。Second chance 例外によってプロセスからデバッガーを切り離すと、またはユーザーがデバッグを停止するのには、CTRL キーを押しながら C を押すと、リモート ユーザーまたはコンピューター、ローカル メッセンジャー サービスを介して通知が送信されます。この通知は、ローカルのメッセンジャー サービスをデバッグしているコンピューターで開始されて場合にのみに発生します。
  • -静かな
    このスイッチは、すべてのモーダル ダイアログ ボックスを表示しないように ADPlus に指示します。このスイッチは、モーダル ダイアログ ボックス、ユーザーが[OK] をクリックするを無期限に待機するになります、リモート コマンド シェルから ADPlus を実行する場合に便利です。最適な結果を得るには、ADPlus.vbs に渡す最初のスイッチであることを確認します。
  • -o 出力ディレクトリ
    このスイッチは、デバッグ出力ファイルの配置場所を ADPlus に指示します。長いファイル名を使用する場合は、二重引用符で囲む必要があります。さらに、UNC パスを使用することができます (\\サーバー\共有).UNC パスを使用する場合は、ADPlus は、指定された UNC パスのすぐ下の新しいフォルダーを作成します。ADPlus を実行して、サーバーをという名前フォルダー (たとえば、\\サーバー\共有\Web1 または \\サーバー\共有\Web2)。このスイッチは、ADPlus をすべて出力を同じネットワーク共有上に保存する、web ファーム内の複数のコンピューターで実行している場合に便利です。

ADPlus の初めてを実行します。

既定では、デバッガーは C:\Program Files\Debugging Windows 用ツール フォルダーにインストールします。インストール フォルダーを変更するのには、カスタム インストールを実行、デバッガーのインストールを別のフォルダーを指定するとします。代わりに、標準インストールが実行されている場合、Files\Debugging ツールのウィンドウのフォルダーの内容を別のフォルダーにコピーします。

ADPlus を実行するのには、コマンド ・ シェルを開き、デバッガーをインストールまたはコピー先のフォルダーに切り替えるし、入力 ADPlus.vbs.

デフォルトのスクリプト インタープリターを Wscript.exe から Cscript.exe に変更する必要があります。マイクロソフトでは、CSCript をデフォルトのスクリプト インタープリターとして構成することを強く推奨します。

構文

ADPlus は、次の構文を使用します。ADPlus.vbs 操作モード オプション ・ スイッチを監視するためのプロセス場所 操作モード-切断、または-クラッシュ
場所 プロセスを監視するにはiis では、 pn プロセス.exe、または -p PID
場所 省略可能なスイッチ-通知-o、または-静かな

サーバー モードのクラッシュのデバッグを準備します。

ADPlus を crash モードで実行する前に、デバッグ セッション、ADPlus の crash モードからほとんどの情報を取得するのには、サーバーを準備する必要があります。

Crash モードのデバッグのためには、Windows 2000 ベースのサーバーを準備する手順

  1. Windows 2000 SP1、または SP2 のシンボルは、サーバーに C:\WINNT\Symbols フォルダーにインストールします。次の Microsoft web サイトからシンボルをダウンロードできます。
    Windows 2000 SP1
    http://download.microsoft.com/download/win2000platform/SP/SP1/NT5/EN-US/SP1SYM.exe

    Windows 2000 SP2
    http://download.microsoft.com/download/win2000platform/SP/SP2/NT5/EN-US/SP2SYM.exe

    Sp1sym.exe または Sp2sym.exe をダウンロードした後、指定したフォルダーからファイルを実行します。
  2. ダイアログ ボックスが表示されたら、C:\Sp1sym または C:\Sp2sym などの新しい一時フォルダー、またはドライブまたは十分なディスクの空き容量のあるフォルダーにファイルを抽出します。
  3. C:\Sp1sym\Support\Debug\Symbols\i386\Symbols_spexe、または C:\Sp2sym\Support\Debug\Symbols\i386\Symbols_spexe (C:\Sp1sym または C:\Sp2sym は、前の手順でファイルを展開したフォルダーです) を実行します。
  4. [使用許諾契約書が表示されたら、[はい] をクリックします。
  5. ファイルを展開することができますフォルダーを確認するメッセージが表示されたらをクリックしてください。 C:\WINNT\Symbolsプロパティ ].C:\WINNT\Symbols の新しいフォルダーが表示されることに注意してください。このフォルダーには、DLL と EXE の名前を持つさまざまなサブフォルダーが含まれます。
  6. シンボル カスタム Dll と SP1 の投稿または SP2 修正プログラムを C:\WINNT\Symbols\Dll フォルダーにコピーします。
  7. シンボルは、カスタムの .exe ファイルを C:\WINNT\Symbols\Exe フォルダーにコピーします。また、.pdb または .dbg ファイルを開発者から取得および、これらのファイルを C:\WINNT\Symbols\Dll フォルダーに配置する必要があります。
  8. C:\WINNT\Symbols\Dll フォルダーに、修正プログラムのバージョンが存在、.dbg または .pdb ファイルを上書きします。

    メモ 修正プログラム パッケージを開くには、最新版の Winzip を使用できます。\Debug サブフォルダーからシンボルを展開できます。\Debug サブフォルダーは、各修正プログラムの自己インストーラーに含まれています。
  9. _NT_SYMBOL_PATH 環境変数を作成し、それに設定 C:\WINNT\Symbols.この変数は、システム変数またはユーザー環境変数のいずれかになります。

Crash モードのデバッグのために Windows NT 4.0 ベースのサーバーを準備する手順

  1. Windows NT 4.0 Service Pack 6a を実行していることを前提としています。Windows NT 4.0 sp6a を適用したシンボル サーバー上の C:\WINNT\Symbols フォルダーにインストールします。
    詳細については、Windows NT 4.0 サービス Pack 6 または 6a、Microsoft サポート技術情報の資料を参照する次の資料番号をクリックします。
    241211Windows NT 4.0 の Service Pack で修正されたバグのリスト 6 または 6a (パート 1)
    Sp6symi.exe をダウンロードした後、指定のフォルダーから実行します。
  2. ダイアログ ボックスが表示されたら、C:\WINNT フォルダーにファイルを展開 (またはシンボルが C:\WINNT にインストールされていない場合は、\WINNT フォルダーを置き換える)。DLL、EXE、およびその他のさまざまなサブフォルダーが C:\WINNT\Symbols の新しいフォルダーが表示されます通知の名前。
  3. サブフォルダーは C:\WINNT\Symbols\IIS4 フォルダーから C:\WINNT\Symbols にコピーします。すべてのファイルを上書きするメッセージが表示されたらをクリックしてください。 [はい].
  4. 独自のシンボルをコピーの Dll およびポスト SP6a 修正プログラム C:\WINNT\Symbols\Dll フォルダーにします。
  5. シンボルは、カスタムの .exe ファイルを C:\WINNT\Symbols\Exe フォルダーにコピーします。また、.pdb または .dbg ファイルを開発者から取得および、これらのファイルを C:\WINNT\Symbols\Dll フォルダーに配置する必要があります。
  6. C:\WINNT\Symbols\Dll フォルダーに、修正プログラムのバージョンが存在、.dbg または .pdb ファイルを上書きします。

    メモ 修正プログラム パッケージを開くには、最新版の Winzip を使用できます。\Debug サブフォルダーからシンボルを展開できます。各修正プログラムの自己インストーラーには、このフォルダーのサブフォルダーが含まれます。
  7. _NT_SYMBOL_PATH 環境変数を作成し、それに設定 C:\WINNT\Symbols.この変数は、システム変数またはユーザー環境変数のいずれかになります。
ダウンロードし、デバッグ対象のサーバー上のシンボルをインストールする必要はありませんが、強くお勧めします。ダウンロードして、シンボル サーバーをインストールすると、ログ ファイルに記録される出力を Microsoft PSS に非常に便利です。

マイクロソフトのデバッグ シンボルを取得する方法の詳細については、マイクロソフト サポート技術情報の資料を参照する次の資料番号をクリックします。
268343Umdhtools.exe: Umdh.exe を使用してメモリ リークを検索する方法
サーバーを構成した後は、ADPlus を crash モードで実行することができます。このモードは、「典型的な ADPlus の使用シナリオ」セクションで説明します。


ADPlus の一般的な使用シナリオ

このセクションで ADPlus を実行する必要があります、一般的なシナリオについて説明します。

プロセスが応答を停止または、CPU 使用率が 100% を消費します。

このシナリオでは、プロセスの 100% の CPU を一定期間または無期限にする可能性があります。ADPlus を hang モードで問題が発生する、CPUを消費しているプロセスのメモリ ダンプを取得実行します。たとえば、次のコマンド構文のいずれかを使用します。
ADPlus の -p のハング 1896年
このコマンドは、ADPlus を hang モードで実行し、PID が 1896 のプロセスのフル メモリ ダンプ ファイルが生成されます。

ADPlus の pn の myapp.exe がハング
このコマンドは、ADPlus を hang モードで実行し、Myapp.exe という名前のすべてのプロセスのフル メモリ ダンプ ファイルが生成されます。

ADPlus でハングアップする-iis-pn myapp.exe c:\temp
このコマンドは、ADPlus を hang モードで実行し、IIS は、Mtx.exe または Dllhost.exe、すべてのインスタンスの完全メモリ ダンプ ファイルを生成し、すべてのプロセスを Myapp.exe という名前です。メモリ ダンプ ファイルは C:\Temp フォルダーに配置されます。
100 パーセント CPU 状態の間に ADPlus を hang モードで実行すると、ツールは、コマンドラインで指定したプロセスのメモリ ダンプ ファイルを生成します。

メモ 場合によっては、デバッガー プロセスに CPU 使用率が 100% の状態の後にアタッチすることはできませんまたはハングが発生しました。この問題が発生した後に ADPlus を hang モードで実行する場合、ツールはメモリ ダンプ ファイルがあります。これらのシナリオは、問題の発生、デバッガーアタッチするのに最適な場合があります。これを行うには、ADPlus を crash モードで実行するのには、次のコマンド構文のいずれかを使用します。
ADPlus でクラッシュする p 1896
このコマンドは、ADPlus を crash モードでは、PID が 1896 のプロセス実行します。ADPlus は、例外が発生するは、または ctrl キーと C、最小化されたデバッガー ウィンドウでは、メモリ ダンプ ファイルを生成して、デバッガーをデタッチするのにを押すようにユーザーに待機します。

ADPlus でクラッシュする-pn myapp.exe
このコマンドは、crash モードの名前の Myapp.exe プロセスで ADPlus を実行します。ADPlus は、例外が発生するは、または ctrl キーと C、最小化されたデバッガー ウィンドウでは、メモリ ダンプ ファイルを生成して、デバッガーをデタッチするのにを押すようにユーザーに待機します。

ADPlus でクラッシュする-iis-pn myapp.exe c:\temp
このコマンド Inetinfo.exe、Myapp.exe という名前のプロセスのすべてのインスタンスは、Mtx.exe または Dllhost.exe のインスタンスのクラッシュ モードで ADPlus を実行します。ADPlus が待機した後、例外を 1 つまたは複数のメモリ ダンプ ファイル (またはファイル) を生成し、デバッガーをデタッチするのには、最小化されたデバッガー ウィンドウで CTRL キーを押しながら C キーを押します。 または。ADPlus は、メモリ ・ ダンプ ・ ファイルとログ ファイルは C:\Temp フォルダーに配置します。
その後プロセスがハングするかが 100% の CPU 使用率、ユーザーすることができます ctrl + c デバッガー プロセス (またはプロセス) のメモリ ダンプ ファイルを生成することができますように、adplus で最小化されたデバッガー ウィンドウ (または windows)。

メモ 既定では、ADPlus は、CTRL キーを押しながら C キーを押すとだけのミニ メモリ ダンプ レコード生成します。この設定は、ディスク領域を節約できます。このシナリオでは、CTRL キーを押しながら C キーを押すと、完全メモリ ダンプ ファイルを生成するように ADPlus を構成すると便利な場合があります。これを行うには、 ? CTCFスイッチを使用します。さらに、するまでの間と、100% の CPU 使用率条件などのパフォーマンス ログ ファイルまたはシステム モニター ログ ファイルを取得するは頻繁に便利です。最低限、このログ ファイル 1 〜 5 秒の間隔で次のオブジェクトをキャプチャする必要があります。
  • メモリ
  • プロセス
  • プロセッサ
  • システム
  • スレッド

プロセスが突然終了します。

このシナリオでは、プロセスにランダムに終了 (クラッシュまたは可能性があります) が予期せず。問題が発生する前に終了するプロセスのメモリ ダンプ ファイルを取得するのには、crash モードで ADPlus を実行します。たとえば、次のコマンド構文のいずれかを使用します。
ADPlus でクラッシュする-iis
このコマンドは、ADPlus をクラッシュ モードで実行し、CDB デバッガーを Inetinfo.exe にし、コンピューターで実行されているすべての Mtx.exe または Dllhost.exe プロセスにアタッチされます。ADPlus は、すべての初回とセカンド チャンス例外が発生することが待機します。-Oスイッチが省略されているのでデフォルトでは、ADPlus のすべてのファイルをインストール フォルダーのサブフォルダーに配置します。

ADPlus の静かな-- iis がクラッシュする-通知 リモート コンピューター c:\temp
このコマンドはサイレント モードで adplus (ダイアログ ボックスは、ログオンしないすべての出力をイベント ログに) でクラッシュ モードと原因の Inetinfo.exe をおよびすべての Mtx.exe または Dllhost.exe CDB デバッガーをアタッチするプロセスは、コンピューターで実行します。の通知スイッチが使用されて、デバッガーというコンピューターにログオンしているすべてのユーザーに通知します。 リモート コンピューター たびに、クラッシュが検出されるか監視対象プロセスですとを終了します。-Oスイッチを使用しているため、ADPlus は、C:\Temp フォルダーにすべての出力を配置します。フォルダーが存在しない場合は、ADPlus が作成されます。

ADPlus でクラッシュする-iis o \\サーバー\共有
このコマンドはすべての出力がネットワーク サーバーに記録を除き、前のコマンドと同じです。ADPlus はの新しいサブフォルダーに作成されます \\サーバー\共有サブフォルダーは、ローカル コンピューターの名前します。そのため、web ファームで ADPlus を実行している場合は、ADPlus が実行されているファーム内の各サーバーを別々 のフォルダーの下を記録 \\サーバー\共有.(各サーバーに一意なフォルダーを作成する必要はありません。ADPlus これが自動的に行われます。)
メモ ローカル コンソールから ADPlus を crash モードで実行する場合 (の代わりに、次のセクションで説明されているように、リモート コマンド シェルから)、デバッグ セッション中に、コンソールにログオンしたままする必要があります。

たとえば、ADPlus を crash モードで起動し、 -iisスイッチを使用して IIS を監視すると仮定します。コンソールからログインすると、コンソール (と他のすべての実行中のアプリケーション) を実行している Cdb.exe のコピーを終了します。この結果、デバッグは中止され、監視中のプロセスも終了します。

この問題を回避するのには、コンソール セッション (プレスの CTRL + ALT + DEL キーの組み合わせをしてロックすることができます。 [コンピューターのロック)、または非対話的に実行するようにスケジュールしているリモート コマンド シェルから ADPlus を実行する (つまり対話型ログオンを要求しない)。

非対話的に実行するのには、リモート コマンド シェルをスケジュールする方法の詳細については、「典型的な ADPlus の使用状況シナリオ:: 実行リモートで Crash モード」セクションを参照してください。

MTS または COM + のサーバー アプリケーションが突然終了します。

サロゲート プロセスを Mtx.exe (Dllhost.exe) を実際に実行する MTS または COM + のサーバー アプリケーションを実行するカスタムのコンポーネント オブジェクト モデル (COM) コンポーネント。これらのサロゲート プロセスでは、プロパティと、MTS エクスプ ローラーの Windows NT 4.0 の場合) またはコンポーネント サービス Microsoft 管理コンソール (MMC) スナップイン (Windows 2000、Windows XP、および Windows Server 2003) を経由することができます設定があります。

既定では、3 分後のアイドル時間を終了する MTS または COM + のサーバー アプリケーションが構成されます。これらのプロセスが、デバッガーがアタッチされている間に実行して例外を監視であることを確認するのには、するように構成する必要があります。 アイドル状態のときに実行中のままに.

さらに、MTS や COM + は、failfast を実装します。フェイルファーストが失敗 (または終了) するように設計されたが MTS が生成する COM + プロセスが処理できないアクセス違反。

既定では、failfast が処理できないアクセス違反例外を発生させる MTS または COM + アプリケーションで有効になります。その結果、障害のある MTS または COM + サーバー アプリケーションのアクセス違反例外が発生することはできません (つまり、最初のチャンス アクセス違反後終了)。既定では、最初のチャンス例外が発生したときにミニ メモリ ダンプ レコードのみを作成する ADPlus が構成されます。

MTS を正常にデバッグすると COM + のサーバー アプリケーション、次の手順を実行します。
  1. MTS の構成と COM + のサーバー アプリケーションに アイドル状態のときに実行中のままに.
  2. 最初の例外の完全なダンプ ファイルを作成するのには、 FullOnFirstスイッチを使用します。
  3. ADPlus を crash モードで実行し、アプリケーションの失敗を待ちます。
メモ MTS および COM + は、サーバー アプリケーションをシャット ダウンし、プロセス、フェイルファースト ポリシー、second chance 例外が生成されなくなります。 ため、のみ最初チャンス アクセス違反メモリ ダンプ ファイルを入手できることがあります。

リモートで crash モードでの実行します。

ADPlus を crash モードでは、サーバー ファーム内の 1 つまたは複数のリモート サーバーが予期せず終了するプロセスを監視するのには、ローカル クライアント コンピューターから開始する必要がありますと、多くの状況があります。通常は、Windows 2000 では、これを Windows ターミナル サービスを使用します。ただし、異なるウィンドウ ステーションで Windows NT 4.0 および Windows 2000 上で実行されているアプリケーションをデバッグすることはできません。したがって、それをターミナル サービス セッションで実行されていることを検出するとシェルを起動するをバッチします。この問題を解決するのには、Remote.exe ユーティリティを使用して、リモート サーバーの共有は、リモート サーバー上でコマンド ・ シェルを起動するバッチ ファイルを作成するし、 ATコマンドを使用して、ターゲット サーバーで実行するバッチ ファイルのスケジュールを設定します。( ATコマンドを非対話的に実行するのには、コマンド シェルが、サービスのようなします)。リモート コマンド シェルは、ローカル ワークステーションまたはコマンド シェルを起動するために使用するものと同じ Remote.exe ユーティリティを使用してクライアント コンピューターに接続されています。

ATコマンドを使用してリモート コマンド シェルを起動するのには、次の手順を実行します。
  • リモート サーバーで
    デバッガーが C:\Debuggers にインストールされていることを前提としています。次の手順を実行します。
    1. C:\Debuggers] フォルダーで、新しいファイルを作成します。 Remoteshell.cmd.
    2. このバッチ ファイルに次の行を追加します。
      c:\debuggers\remote.exe/s"cmd.exe"を
    3. コンソール サーバー上で、またはターミナル サービス セッションで、新しいコマンド ・ シェルを開きし、次のコマンドを入力します。
      15時 00分 c:\debuggers\remoteshell.cmd
      15時 00分現在のタイムは 1 分後.現在の時刻が 14時 59分の場合は、たとえば、入力します。 15:00.
    4. コマンドを実行するを待ちます。
    5. コマンド プロンプトに入力します。 AT タスクが正常に実行があることを確認するのにはパラメーターなしで。
  • ローカルのクライアントにします。
    インストール ローカル クライアント コンピューター上か、少なくとも)、デバッガー、Remote.exe ユーティリティをローカルにコピーします。(既定では、このユーティリティでデバッガーのルート インストール フォルダーにインストールされます。)

    デバッガーおよび Remote.exe ユーティリティが C:\Debuggers にインストールされていることを前提としています。次の手順を実行します。
    1. コマンド プロンプトで C:\Debuggers フォルダーに切り替えます。
    2. 次のコマンドを入力します。
      remote.exe/c リモート サーバー
      場所 リモート サーバー リモート サーバーの名前です。
    3. ローカル コマンド シェルは、サーバー上で実行しているリモート コマンド シェルに接続し、ローカルに入力するすべてのコマンドをリモート サーバーで ([実行します。 DIR c:\ コマンドをリモート サーバー上のドライブ C の内容を表示) します。
    4. ローカル コンソールで実行されているかリモート コマンド シェルでは、今すぐ ADPlus を crash モードで実行することができます。ただし、使用する必要があります、 -静かな抑制するデフォルトですべてのダイアログ ボックスを切り替えます。使用していない場合は、 -静かなスイッチは、リモート コマンド シェルが ADPlus を実行して、プロンプトに戻りませんと応答を停止します。この問題が発生した場合は、サーバー上でリモート コマンド シェル (Cmd.exe) を終了し、[新しいインスタンスを開始する必要があります。
    5. デバッグ ブレーク (CTRL + C) ADPlus 現在リモートでクラッシュをデバッグ モードでは、プロセスに送信するのには、Breakin.exe ユーティリティを使用する必要があります。既定では、デバッガー、デバッガー フォルダーのルートに Breakin.exe がインストールされます。たとえばは、プロセス ID 1975 で実行されている IIS (Inetinfo.exe) のデバッグを停止するのには、リモート コマンド シェルで次のコマンドを入力します。
      breakin.exe 1975
      代わりにデバッグされているプロセスを終了するのには (、デバッガー フォルダーのルートにある)、Kill.exe コマンドを使用できます。

関連情報および既知の問題

  • ADPlus は、クラッシュに関する情報をキャプチャしていた場合、または crash モードで監視中のプロセスが終了した場合は、方法することができます。

    これを行うにいくつかの方法があります。
    • 使用する、 -通知の切り替え、およびサーバーでデバッグして、通知を受信するクライアント コンピューターでメッセンジャー サービスが開始されていることを確認します。
    • テキスト エディターで、出力フォルダーにある各プロセスの .log ファイルを開きし、ファイルの末尾にスクロールします。次のテキストを検索します。
           0:070> * -------- AutodumpPlus 4.01 finished running at: --------
           0:070> .time
           Debug session time: Mon Aug 06 15:25:15 2001
           System Uptime: 3 days 17:00:34 
           Process Uptime: 1 days 3:10:38 
           0:070> * -------------------------------------------------------
    • 出力フォルダーには、"__2nd_chance"という語句を含む .dmp ファイルを探します。メモリ ダンプ レコードのラベルにこの文字列を表示する場合は、プロセスが予期せず終了しました。
    • 出力フォルダーには、"__Process_was_shutdown"という語句を含む .dmp ファイルを探します。メモリ ダンプ レコードのラベルにこの文字列を表示する場合は、管理者がプロセスを終了または場合は、MTS と COM + アプリケーションは、プロセスはアイドル時間の制限に達したために終了します。
    • 出力フォルダーでは、"_ _ctrl-c"という語句を含む .dmp ファイルを検索します。メモリ ダンプ レコードのラベルにこの文字列を表示する場合は、デバッグ ブレーク例外は、プロセス、または誰かに CTRL + C キーが押されたコンソールから実行 (リモートで ADPlus を実行している場合に Breakin.exe を使用)、DLL からスローされた、現在のデバッグ セッションを停止します。
  • Windows スクリプト ホスト コンポーネントを実行するシステム上にインストールしてください。Windows スクリプティング ホストをダウンロードするのには、次のマイクロソフト web サイトを参照してください。
    http://msdn2.microsoft.com/en-us/library/ms950396.aspx
    メモ インストールされているマイクロソフト製品は次のいずれかがある場合は Windows スクリプト ホスト コンポーネントが既にインストールされている可能性があります。
    • Microsoft Internet Explorer 5
    • Microsoft Office 2000
    • Microsoft Visual InterDev 6.0
    • Microsoft Visual Studio 6.0
    • Microsoft Windows NT オプション パック
    • Microsoft Windows 2000
    • Microsoft Windows XP
    • Microsoft Windows Server 2003
    • Microsoft Windows Vista
  • スイッチが場合にのみ動作するインターネット インフォメーション サーバー (IIS) 4.0 またはインターネット インフォメーション サービス (IIS) 5.0。x インストールされています。
  • ADPlus を quiet モードで実行すると、ツールは、イベント ログに情報を記録します。
  • -Oスイッチを使用する場合は、指定されたパスは存在しない 1 つ以上のフォルダーを含めないでください。例を示します。
    1. 指定しました。 -o の c:\temp1\temp2.ただし、C:\Temp1 と \Temp2 のフォルダーは存在しません。
    2. エラー メッセージは、フォルダーが存在しない、およびフォルダーは作成されませんを示すが表示します。
    だけを指定した場合 -o c:\temp1を ADPlus 場合は、C:\Temp1 フォルダー作成されますが存在しないし、すべての出力ファイルをそのフォルダーに格納されます。-Oスイッチを使用して複数のサブフォルダーを指定する場合は、ADPlus を実行する前にすべてのサブフォルダーが存在することを確認します。
  • COM + では、サーバー パッケージをデバッガー内で、パッケージのプロパティ] ダイアログ ボックスの [詳細設定] タブを起動するを構成することができます。デバッガー内で実行する] オプションを有効にする場合は、ADPlus はプロセスを CDB デバッガーをアタッチできません。既定では、1 つのデバッガー プロセスに同時に接続することができます。
  • ADPlus を crash モード、意図的にまたはが予期せず、ADPlus で作成、ログ ファイルによって分析されて、プロセスを終了するが別のプロセスの分析しているプロセスから、リモート プロシージャ コール (RPC) が行われる場合は、次の例外のいずれかが入ります。
    不明な例外 - コード 80010105 例外
    不明な例外 - コード 800706 be 例外
    不明な例外 - コード 800706ba (例外)
    これらの例外は、通常です。存在しない、または障害が発生したプロセスを監視するプロセスから呼び出しが行われた場合 RPC 例外を発生させます。

    さらに、ADPlus はそのプロセスのデバッグ ログで Inetinfo.exe が監視されて場合は、次の例外がログに表示されます。
    不明な例外 - コード 800706 bf 例外
    この例外は IIS の呼び出しに失敗しました、アウト プロセス (高分離レベル) の web サイトを作成した後に通常表示されます。次の例外の 2 つのインスタンスが従う必要があります。
    不明な例外 - コード 800706ba (例外)

関連情報

詳細については、以下の記事番号をクリックして、マイクロソフト サポート技術情報資料を参照してください。
323478ターミナル サーバー セッションでデバッグすることはできません。

プロパティ

文書番号: 286350 - 最終更新日: 2013年4月29日 - リビジョン: 7.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Windows 2000 Standard Edition
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Windows Vista Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
キーワード:?
kbbug kbdebug kbhowto o365 kbmt KB286350 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:286350
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com