我需要调试一个加载到特定应用程序池进程上的dll。我正在使用WinDbg,到目前为止,我已经成功地找到了正确的w3wp。exe进程。问题是,应用程序池会自我循环,有时在它达到我想要的结果之前(一个非常难以捉摸的第二次机会例外)。然后,我需要重新开始。 如何配置WinDbg以自动连接到w3wp。每次启动时都连接到特定应用程序池的exe进程? 另一个解决方案是获取崩溃转储—我尝试使用ADPlus。但它也需要在一个进程上启动,我没有找到一种方法,只在我需要的进程上自动重新运行它,每次它启动时。 总之,我需要一种从w3wp获取崩溃转储的方法。连接到特定IIS应用程序池的exe进程,该进程在再次发生异常时崩溃,而该进程偶尔会重新启动一次(没有足够的时间让我每次手动运行调试工具)。
最终,我发现了这个很棒的工具,叫做DebugDiag,它是微软的官方工具。它有一个很好的接口,允许收集特定事件(如异常)的转储,并创建非常有用的日志。 最重要的是,它有一个专门用于IIS调试的特殊部分,允许我选择我感兴趣的应用程序池。 下载可用 here .