ADPlus

http://www.cnblogs.com/awpatp/archive/2010/03/07/1680147.html

ADPlus

什麼是ADPlus?html

===============服務器

ADPlus是一個Microsoft Product Support Services (PSS) 的工具, 能夠用來排查任何進程或者應用程序的中止響應(hang), 或者崩潰(crash)的錯誤. 常常地, 你可使用ADPlus(ADPlus.vbs)做爲Microsoft Internet Information Server (IIS) Exception Monitor 和 User Mode Process Dump 的替代工具. 這兩個是PSS常用的工具, 用來隔離引發進程中止響應或者異常退出的緣由.網絡

 

ADPlus有哪些功能?工具

===============post

ADPlus 是基於控制檯的 Microsoft Visual Basic 腳本。網站

它使 Microsoft CDB 調試程序自動生成包含來自一個或多個進程的調試輸出的內存轉儲和日誌文件。ui

每當 ADPlus 運行時,調試信息(包含調試信息的內存轉儲和文本文件)都將放置在本地文件系統或遠程網絡共享目錄上的新的、惟一命名的文件夾(例如,C:\Temp \Crash_Mode__Date_01-22-2001__Time_09-41-08AM)中。url

此外,ADPlus 建立的每個文件均具備惟一的名稱(例如,PID- 1708__Inetinfo.exe__Date_01-22-2001__Time_09-41-08AM.log),以免較新的文件覆蓋較舊的文件。命令行

 

ADPlus 可用於任何用戶模式進程或服務,例如 Internet 信息服務 (IIS)、Microsoft Transaction Server (MTS) 或 Microsoft COM+ 應用程序。debug

 

應該何時使用ADPlus?

================

ADPlus 用於向 Microsoft Product Support Services 支持專業人員提供調試信息,支持專業人員須要這些調試信息來肯定在複雜環境中出現的問題的緣由。

 

若是您遇到下列問題,應使用 ADPlus 捕獲調試信息:

  • 進程中止響應。
  • 進程在單處理器計算機上佔用 100% 的 CPU、在雙處理器計算機上佔用 50% 的 CPU、在四處理器計算機上佔用 25% 的 CPU,依此類推。
  • 進程崩潰或意外關閉。

到哪裏下載ADPlus?

================

ADPlus 隨最新的 Microsoft Debugging Tools for Windows 一塊兒提供。要獲取最新的 Microsoft Debugging Tools for Windows,請訪問下面的 Microsoft 網站:

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

 

ADPlus是如何工做的?

================

ADPlus 具備兩種操做模式:

  • 「Hang」模式用於解決進程掛起、100% CPU 使用率以及不涉及崩潰的其餘問題。當您在掛起模式下使用 ADPlus 時,在運行腳本以前必須等待,直到進程中止響應(與崩潰模式不一樣,掛起模式不是持久性的)。
  • 「Crash」模式用於解決 Dr. Watson 錯誤致使的崩潰問題,或者用於解決致使程序或服務意外退出的任何其餘類型的錯誤。當您在崩潰模式下使用 ADPlus 時,必須在發生崩潰啓動 ADPlus。能夠經過「-notify」開關對 ADPlus 進行配置,以便通知管理員或計算機發生了崩潰。

Hang模式

在此模式下,ADPlus 在腳本結束運行後當即爲在命令行中指定的全部進程生成徹底內存轉儲。建立的每個 .dmp 文件都會放在包含運行 ADPlus 時的日期/時間戳的文件夾中。每個文件名都包含進程名、進程 ID,以及運行 ADPlus 時的日期/時間戳。在進程內存正被轉儲到某一文件時,該進程被凍結。在建立完內存轉儲文件以後,經過將非侵害性鏈接/分離與 CDB 調試程序一塊兒使用來恢復進程。

 

Crash模式

在此模式下,ADPlus 將 CDB 調試程序鏈接到在命令行中指定的全部進程。ADPlus 自動配置調試程序以監視下列類型的異常:

  • 無效句柄
  • 非法指令
  • 整數被零除
  • 浮點數被零除
  • 整數溢出
  • 無效的鎖定順序
  • 訪問衝突
  • 堆棧溢出
  • C++ EH 異常
  • 未知異常

ADPlus的命令行開關選項

===============

要使用 ADPlus,您必須爲腳本指定一系列命令行開關或參數。ADPlus 至少須要兩個開關:

  • 一個開關指定操做模式
  • 另外一個開關指定要對其執行操做的目標進程。

下面列出了最經常使用的開關。您還能夠經過運行「ADPlus –help」,或經過閱讀調試程序幫助文件 (Debugger.chm) 來查看完整的開關列表。

  • -hang
    此開關將 ADPlus 配置爲在掛起模式下運行。您必須將此開關與「-iis」、「-pn」或「-p」開關一塊兒使用。不能將「-hang」與「-crash」開關一塊兒使用。
    注意:當 ADPlus 在掛起模式下運行時,您必須在進程中止響應或佔用很高的 CPU 使用率以後啓動 ADPlus。
  • -crash
    此開關將 ADPlus 配置爲在崩潰模式下運行。您必須將此開關與「-iis」、「-pn」或「-p」開關一塊兒使用。不能將「-crash」與「-hang」開關一塊兒使用。
    注意:當 ADPlus 在崩潰模式下運行時,您必須在進程意外退出或者變得不穩定以前啓動 ADPlus。
  • -pn process name
    「-pn」開關用於指定您但願 ADPlus 分析的進程名。要指定多個進程,請使用多個「-pn process name」開關。例如:

    -pn process1.exe -pn process2.exe

  • -p process ID
    「-p」開關用於指定您但願 ADPlus 分析的進程的 ID (PID)。要指定多個進程,請使用多個「-p PID」開關。例如:

    -p 1896 -p 1702

  • -iis
    「-iis」 開關用於調試運行 Internet Information Server (IIS) 4.0 或更高版本的服務器計算機。在將 ADPlus 與「-iis」開關一塊兒使用時,ADPlus 監視全部 IIS 進程內 (Inetinfo.exe) 和進程外 (Mtx.exe/Dllhost.exe) 應用程序。「-iis」開關能夠與「-pn」開關或「-p」開關一塊兒使用,也能夠單獨使用,以分析 IIS 和全部在崩潰模式或掛起模式下運行的 MTS/COM+ 應用程序。
    若是您嘗試分析運行 IIS 3.0 或更低版本的服務器計算機,請使用「-pn」開關並將 Inetinfo.exe 指定爲要監視的進程。
  • -notify computer name 或 user name
    只有當 ADPlus 在崩潰模式下運行時此開關纔有效。此開關指示 ADPlus 提醒指定的用戶名或計算機名發生了崩潰。當調試程序因爲第二次偶然發生的異常從進程分離時,或者當用戶按 Ctrl+C 中止調試時,就會經過本地信使服務向遠程用戶或計算機發送通知。只有正在被調試的計算機上啓動了本地信使服務時,纔會發送此通知。
  • -quiet
    此開關指示 ADPlus 不顯示全部模式對話框。若是您正在從遠程命令外殼程序(其中模式對話框可能致使 ADPlus 無限期地等待用戶單擊「肯定」)內運行 ADPlus,則此開關將很是有用。爲保證得到最佳效果,請確保這是傳遞給 ADPlus.vbs 的第一個開關。
  • -o output directory
    此開關指示 ADPlus 在哪裏放置調試輸出文件。若是使用長文件名,則必須用雙引號將它們括起來。此外,還可使用 UNC 路徑 (\\server\share)。若是使用 UNC 路徑,則 ADPlus 在緊跟您指定的 UNC 路徑的下方建立一個新文件夾。根據正在運行 ADPlus 的服務器命名該文件夾(例如,\\server\share\Web1 或 \\server\share\Web2)。若是 ADPlus 在 Web 場中的多臺計算機上(這些計算機全都將其輸出放置於同一網絡共享上)運行,則此開關十分有用。

使用ADPlus的命令舉例

====================

爲Hang住的狀況抓Dump:

adplus -hang -pn w3wp.exe   爲全部的w3wp.exe進程建立內存轉儲文件.

adplus -hang -p 1244            爲進程ID爲1244的進程建立內存轉儲文件.  

adplus -hang –IIS                  爲全部跟IIS相關的進程(好比w3wp.exe, inetinfo.exe, aspnet_wp.exe 和dllhost.exe)建立內存轉儲文件.

 

爲Crash的狀況抓Dump:

adplus -crash -pn w3wp.exe   在崩潰的時候爲全部的w3wp.exe進程建立內存轉儲文件

adplus -crash -p 1244     在進程ID爲1244的進程崩潰的時候爲它建立內存轉儲文件

adplus -crash –IIS           爲全部跟IIS相關的進程(好比w3wp.exe, inetinfo.exe, aspnet_wp.exe 和dllhost.exe)建立崩潰時的內存轉儲文件.

 

摘譯自:

How to use ADPlus to troubleshoot "hangs" and "crashes"

http://support.microsoft.com/?scid=kb%3Ben-us%3B286350&x=18&y=10

相關文章
相關標籤/搜索