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

相关文章
相关标签/搜索