ADPlus是一个Microsoft Product Support Services (PSS) 的工具, 可以用来排查任何进程或者应用程序的停止响应(hang), 或者崩溃(crash)的错误. 经常地, 你可以使用ADPlus(ADPlus.vbs)作为Microsoft Internet Information Server (IIS) Exception Monitor 和 User Mode Process Dump 的替代工具. 这两个是PSS经常使用的工具, 用来隔离引起进程停止响应或者异常退出的原因。
ADPlus 具有两种操作模式
- “Hang”模式用于解决进程挂起、100% CPU 使用率以及不涉及崩溃的其他问题。当您在挂起模式下使用 ADPlus 时,在运行脚本之前必须等待,直到进程停止响应(与崩溃模式不同,挂起模式不是持久性的)。
- “Crash”模式用于解决 Dr. Watson 错误导致的崩溃问题,或者用于解决导致程序或服务意外退出的任何其他类型的错误。当您在崩溃模式下使用 ADPlus 时,必须在发生崩溃前启动 ADPlus。可以通过“-notify”开关对 ADPlus 进行配置,以便通知管理员或计算机发生了崩溃。
使用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)创建崩溃时的内存转储文件.
准备基于 Windows 2000 的服务器以用于在崩溃模式下调试的步骤:
到您的服务器上的 C:\WINNT\Symbols 文件夹中安装 Windows 2000 SP1 或 SP2 的符号。您可以从下面的 Microsoft 网站下载符号:
Windows 2000 SP1
http://download.microsoft.com/download/win2000platform/SP/SP1/NT5/EN-US/SP1SYM.exe(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(http://download.microsoft.com/download/win2000platform/SP/SP2/NT5/EN-US/SP2SYM.exe)
下载 Sp1sym.exe 或 Sp2sym.exe 后,从指定的文件夹运行该文件。- 当系统提示您时,提取到新的临时文件夹例如,C:\Sp1sym 或 C:\Sp2sym,或到某个驱动器或文件夹具有足够的磁盘空间的文件。
- 运行 C:\Sp1sym\Support\Debug\Symbols\i386\Symbols_spexe 或 C:\Sp2sym\Support\Debug\Symbols\i386\Symbols_spexe (其中 C:\Sp1sym 或 C:\Sp2sym 是您从中提取上一步中的文件的文件夹)。
- 当您收到的提示最终用户许可协议时,单击是。
- 当系统提示您,您可以在其中解压缩文件的文件夹时,单击 C:\WINNT\Symbols然后单击 确定.请注意,将出现一个新的 C:\WINNT\Symbols 文件夹。此文件夹包含具有名称 (如 DLL 和 EXE 的各个子文件夹。
- 您的自定义 Dll 和开机自检 SP1 和 SP2 修补程序的符号复制到 C:\WINNT\Symbols\Dll 文件夹中。
- 将您的自定义.exe 文件的符号复制到 C:\WINNT\Symbols\Exe 文件夹中。此外,必须从您的开发人员,获取任何.pdb 或.dbg 文件,然后将这些文件放在 C:\WINNT\Symbols\Dll 文件夹中。
- 覆盖从修补程序版本的 C:\WINNT\Symbols\Dll 文件夹中已存在的任何.dbg 或.pdb 文件。
注意可以使用最新版本的 Winzip 打开修补程序包。您可以从 \Debug 子文件夹中提取这些符号。每个修复程序自安装程序中包含 \Debug 子文件夹。- 创建一个 _NT_SYMBOL_PATH 的环境变量,并将其设置为 C:\WINNT\Symbols.此变量可以是系统变量或用户环境变量。
运行cmd , adplus -hang -p 进程id 生成dmp文件。然后将dmp文件,pdb文件,exe或者dll 放在同一目录下可以调试了,可以查看变量值之类的了就。