1

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

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

我的问题类似于用于分析 .NET 应用程序内存转储的工具,但需要允许应用程序在没有外部对话框的终端服务下运行。我在安静模式下尝试了 WinDbg,但它使会话崩溃。

4

2 回答 2

3

adplus 在终端服务下应该可以正常工作——我们经常这样使用它。您究竟是如何尝试使用它的。

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

于 2009-02-09T01:34:48.630 回答
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

于 2009-02-09T04:14:43.113 回答