4

VS2005 C# 编译器在我们团队的夜间构建过程中崩溃。我用 WinDBG 附加到它,加载 SOS 扩展,打印调用堆栈,但看不到异常信息。

我试过了!PrintException,如下:

    0:000> !PrintException
    此线程上没有当前托管异常

这是调用堆栈的顶部:

    0:000> !CLRStack
    操作系统线程 ID:0x9fc (0)
    ESP EIP     
    0012ee08 77e4bef7 [ComPlusMethodFrameGeneric: 0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile()
    0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute()
    0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask​​.Execute()
4

2 回答 2

6

您没有看到异常的原因是 C# 编译器不是用托管代码编写的。这是一个 C++ 项目,因此不会引发 CLR 异常。您需要查找本机错误。

于 2009-05-07T19:21:48.180 回答
2

我得到了它!所需要做的就是从 WinDBG 保存转储 (*.dmp) 文件并在 Visual Studio 中重新打开它。

有关完整的解决方案,请查看 我之前的问题

于 2009-05-07T20:47:32.170 回答