c# - 如何在编译器中查找导致异常的文件?

标签 c# compiler-errors roslyn

所以,我有一个奇怪的问题。所以我有我公司的这个企业代码...大约有6000个文件和200k行代码。
导致编译器崩溃的原因:
错误MSB6006“csc.exe”退出,代码为-2146232797。

我已经看到有人报告了相同的错误。
https://github.com/dotnet/roslyn/issues?utf8=%E2%9C%93&q=is%3Aissue+%22-2146232797%22

我很难找到引起麻烦的文件。
我在想:

  • 是哪个文件引起的?
  • 是否可以将调试器附加到此csc.exe并获取内存?
  • 是否有更好的方法来解决此问题?
  • 最佳答案

    一些疑难解答神秘错误代码的一般提示:

  • 使用Windows计算器将错误号从十进制转换为十六进制。在这种情况下,它是0x80131623。
  • Google那个号码。在这种情况下,听起来可能是FatalExecutionEngineError,这可能表示内部堆栈溢出。
  • 在Windows事件日志中查找。您很有可能会在其中找到完整的堆栈跟踪,这可能会指出您的错误。
  • 调高错误报告的级别。在Visual Studio中:工具/选项/项目和解决方案/构建和运行/MSBuild详细信息

  • 20万行是一个大项目,但并不庞大。 CSC应该能够处理这种大小。但这可能与它的内部结构有关。

    希望能有所帮助。

    关于c# - 如何在编译器中查找导致异常的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49682813/

    相关文章:

    c# - 解析查询WhereKey :MatchesQuery equivalent for . NET

    gcc - 区分 gcc 诊断

    c# - 使用 Roslyn 确定唯一标识符名称

    c# - Roslyn 不优化多个增量是否有原因?

    c# - 带有 DapperExtensions 的谓词

    C# - DLLImport 和函数默认值

    c# - 带有 IIS 6 的 MVC

    c++ - 使用友元运算符<<的编译器错误

    c - c中#define的奇怪错误

    c# - 在 RoslynPad 中使用扩展方法