我们的应用程序池回收后,我们的WCF服务在访问时抛出FileLoadException。回收应用程序池有帮助。有时错误会在没有回收的情况下消失我问了这个问题 我在这里问了第一个问题:FileLoadException when accessing WCF service
由于我们没有其他想法如何分析这个问题,我们希望在其中获得内存转储。
但我不知道如何配置adplus或debugdiag以自动附加到新进程(回收后)并在特定异常上生成崩溃转储。这甚至可能吗?
答案 0 :(得分:2)
您可以使用Procdump
在第一次机会异常时进行完全内存转储:
procdump -ma -e 1 -f FileLoadException w3wp.exe
但不幸的是,你可能不得不手动附加它,因为我不知道任何开箱即用的解决方案。我们有时会使用PowerShell脚本来执行此类任务。
答案 1 :(得分:2)
使用WinDbg,附加它并通过菜单'Debug> Event Filters ...'添加事件过滤器
点击“添加...”,根据MSDN page,错误代码应为0x80131621
,但可能会有所不同,可能会出现问题,然后输入gc
。
否则我希望WinDbg在发生异常时中断,然后你可以进行转储:
.dump /ma c:\dumps\mycrash.dmp
您可能已经查看了以下有关如何调试此问题的页面: http://blogs.msdn.com/b/suzcook/archive/2003/05/29/57120.aspx和http://bradwilson.typepad.com/blog/2007/12/we-were-crashin.html,related SO post