自动化VisualStudio立即窗口

时间:2010-05-13 17:13:11

标签: visual-studio sos immediate-window

我正在尝试自动化为托管应用程序打开故障转储并检索堆栈跟踪的过程。 Windgb有时会工作,但是加载正确版本的sos.dll是一个噩梦,除非处理转储的机器几乎与转储发生的机器完全相同。

另一方面,Visual Studio完成了这项工作。我打开转储,转到即时窗口,然后输入

.load \\<machine where dump occured>\c\windows\microsoft.net\framework\v2.0.50727\sos.dll

!clrtsack 

eveything工作正常。

我可以在visual studio中编写此过程吗?如果没有,Visual Studio使用的后端调试器是否与windbg相同?

1 个答案:

答案 0 :(得分:1)

您可以使用.load命令代替将完整路径传递给.loadby命令,以便为WinDbg提供有关DLL应该位于何处的提示。
该命令接收两个参数:

  1. 要加载的DLL的名称(在您的情况下为SOS
  2. 已加载的DLL的名称,该文件应包含在与第一个请求的DLL相同的文件夹中(在您的情况下,{。1}}用于.Net v4.0,或clr用于早期版本)。
  3. 例如:

    mscorwks