捕获内存转储 - .NET

时间:2009-02-09 01:13:59

标签: .net analysis crash-dumps

在用户在终端服务下运行时查找捕获内存转储的方法的建议。我曾尝试将“AdPlus”与WinDbg一起使用,但该应用程序在终端服务下运行,似乎不喜欢这种组合。

这是一个VB.NET应用程序。

我的问题与Tool for analyzing .NET app memory dumps类似,但需要允许应用程序在没有外部对话框的终端服务下运行。我在安静的模式下尝试了WinDbg,但它崩溃了会话。

2 个答案:

答案 0 :(得分:2)

adplus应该在终端服务下正常工作 - 我们经常以这种方式使用它。你究竟想要用它。

终端服务会话要注意的一件事是会话本身是否有空闲超时。我们经常通过终端服务部门将客户附加到我们的服务中,然后想知道为什么服务在一小时后就会死亡。解决方案是强制终端服务连接使用控制台会话(/ mstsc命令行上的/ console)。

答案 1 :(得分:0)

因为adplus从命令行运行,如果您注销或终端服务会话超时,脚本将停止。

考虑的一种可能性是使用DebugDiag,它作为“本地系统”服务运行,因此它不依赖于登录的交互式用户会话。

您可以将服务配置为定期调度内存转储,稍后在DebugDiag的另一个组件中查看/分析结果,所有这些都可以通过脚本进行自定义。

有用的链接和下载:

http://blogs.msdn.com/sukeshak/pages/ddintro.aspx

http://blogs.msdn.com/tess/archive/2009/01/23/net-hang-analyzing-debug-diag-output.aspx

http://www.microsoft.com/downloadS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en