21

如果之前有人问过这个问题,请告诉我,我找不到关于这个主题的任何问题:-

我需要确定在安装了 .net 框架但未安装 Visual Studio 的计算机上引发的异常的内部异常(也无法在计算机上安装 Visual Studio)。我如何检查这个内部异常?

注意几点:

  • 从另一台计算机上运行 Visual Studio 并不好,因为问题实际上出在盒子上;这是一阶海森虫。
  • 我知道 WinDbg 是一种选择,但是我需要快速完成这项工作,不幸的是,我想充分学习 WinDbg 以完成这项工作所花费的时间将超过我所拥有的时间 - 但是,如果有人对此有分步说明,我会感兴趣的。
  • 我有完全的管理员权限,可以安装任何不太大的东西(安装 VS 的问题是硬盘空间不足)。

谢谢!

4

3 回答 3

13

你看过MDBG吗?您可能需要一段时间才能四处走动,但相当直截了当。

DbgClr可能是一个选项,我认为它仍然应该在 SDK 的某个地方。

于 2009-05-04T09:46:13.937 回答
9

如果您有故障转储,使用 WinDbg 执行此操作实际上相当简单。将转储加载到 WinDbg 中,加载 sos,然后运行 ​​printexception 命令。

>.load sos
>!printexception

这将告诉您异常并指出内部异常。输出将类似于:

0:000> !printexception
Exception object: 0135b340
Exception type: System.ApplicationException
Message: GetAverage failed
InnerException: System.IndexOutOfRangeException, use !PrintException 01358394 to see more
<stack trace follows>

如果您还没有内存转储,您可以使用 adplus(WinDbg 附带)创建一个。

>adplus -crash -o<dump location> -quiet -pn<name of process>

如果您更喜欢使用 PID,请改用该-p选项。

于 2009-05-04T09:48:07.257 回答
2

您可以使用远程调试:http: //msdn.microsoft.com/en-us/library/y7f5zaaa.aspx

于 2009-05-04T09:38:34.487 回答