我已经构build了一个很好的小部件,可以让我们的Command Center人员启动ADPlus.exe来捕获失败的IIS 6应用程序池上的崩溃转储。 这对我们来说是一个挑战性的工作。 他们在没有任何深入的WinDBG知识的情况下捕获取证,而且我在晚上睡觉,在早上进行分析。
缺点是我不得不将它部署到数百台服务器。 我宁愿将其部署到单个中央服务器,并远程调用该进程。 这意味着远程运行一个命令行,如:
"C:\Program Files (x86)\Debugging Tools for Windows (x86)\adplus.exe" -crash -FullOnFirst -o D:\Captures -p 23740
在此之前,我还需要确定发生故障的工作进程的PID。
最好的build议?
你可能想阅读
MSDN Blogs:如何:在IIS 7.0(及更高版本)上收集IIS工作进程的崩溃转储
它谈到ADPlus是如何受限的:
因为ADPLUS不具备自动附加到新stream程的function。 您只能将ADPLUS附加到已经在机器上运行的进程。
这对IIS工作进程来说是一个很大的限制,因为工作进程可能会根据应用程序池设置中configuration的内容进行回收或closures。 ADPLUS的另一个问题是,它启动了cdb.exe的新窗口,有人可能会意外closures此窗口,最终可能会终止工作进程本身。
所以你可能想要使用Debug Diagnostic ,或者只是满足于Windows的转储崩溃的过程,你可以在任何时候select它们:


我意识到它完全绕过你的问题; 但希望有一个好方法。