windbug adplus

什麼是ADPlus?

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

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

 

ADPlus有哪些功能?

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

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

它使 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 可用於任何用戶模式進程或服務,例如 Internet 信息服務 (IIS)、Microsoft Transaction Server (MTS) 或 Microsoft COM+ 應用程序。

 

應該什麼時候使用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 nameuser 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)創建崩潰時的內存轉儲文件.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章