MonoSymbolFileException in CheckLineNumberTable
Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Exception of type 'Mono.CompilerServices.SymbolWriter.MonoSymbolFileException' was thrown.
at Mono.CompilerServices.SymbolWriter.MethodEntry.CheckLineNumberTable (Mono.CompilerServices.SymbolWriter.LineNumberEntry[] line_numbers) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.MethodEntry..ctor (Mono.CompilerServices.SymbolWriter.MonoSymbolFile file, Mono.CompilerServices.SymbolWriter.CompileUnitEntry comp_unit, Int32 token, Mono.CompilerServices.SymbolWriter.ScopeVariable[] scope_vars, Mono.CompilerServices.SymbolWriter.LocalVariableEntry[] locals, Mono.CompilerServices.SymbolWriter.LineNumberEntry[] lines, Mono.CompilerServices.SymbolWriter.CodeBlockEntry[] code_blocks, System.String real_name, Flags flags, Int32 namespace_id) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.SourceMethodBuilder.DefineMethod (Mono.CompilerServices.SymbolWriter.MonoSymbolFile file, Int32 token) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.SourceMethodBuilder.DefineMethod (Mono.CompilerServices.SymbolWriter.MonoSymbolFile file) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.MonoSymbolWriter.WriteSymbolFile (Guid guid) [0x00000] in <filename unknown>:0
at Mono.Cecil.Mdb.MdbWriter.Dispose () [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleWriter.Write (Mono.Cecil.ModuleDefinition module, Disposable`1 stream, Mono.Cecil.WriterParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleWriter.WriteModule (Mono.Cecil.ModuleDefinition module, Disposable`1 stream, Mono.Cecil.WriterParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleDefinition.Write (System.String fileName, Mono.Cecil.WriterParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.AssemblyDefinition.Write (System.String fileName, Mono.Cecil.WriterParameters parameters) [0x00000] in <filename unknown>:0
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
暖更新IL注入抛错, 但是只在Release编译上出现, Dev版本没问题. 看到是写Assembly时检查代码行出了错. 怀疑是部分代码导致的, 根据二分法, 不断定位出错的注入类型, 定位到一个类. 打开后发现有这样的函数:
bool XXX()
{
return false;
CodeLine....
}
看起来是这个函数的处理逻辑废弃了, 直接return 了false. 下面的代码行作废, 但是没有注释掉.
根据异常源自代码行校验, 判断是该函数的IL注入异常导致的写入Assembly错误.
把return false后的CodeLine全部注释后, 果然没有了异常.
结论: IL注入逻辑没有处理好这种特殊的代码. dev版本和release版本的编译在这种代码上有区别(可以打开IL确认)
MonoSymbolFileException in CheckLineNumberTable的更多相关文章
随机推荐
- 第09组 Beta冲刺(1/4)
队名:软工9组 组长博客:https://www.cnblogs.com/cmlei/ 作业博客:https://edu.cnblogs.com/campus/fzu/SoftwareEngineer ...
- Cache busting
Cache busting https://www.keycdn.com/support/what-is-cache-busting https://curtistimson.co.uk/post/f ...
- Char.IsDigit与Char.IsNumber的区别
需要判断Char是否为数字,查看了下MSDN,发现有三种方法: Char.IsDigit (aChar) 指示指定字符串中位于指定位置处的字符是否属于十进制数字类别 Char ...
- elementUI 的el-dialog作为子组件,父组件如何控制其关闭的按钮
这里有三点需要说明: 1. 使用:before-close="closeHandle" 将其 $emit() 出去 2. 取消按钮 也需要$emeit出去 3. 控制对话框显示隐藏 ...
- 解决Electron安装包下载慢的问题
问题描述 在运行官网示例的过程中,一个安装包(electron-v5.0.8-darwin-x64.zip)下载特别慢,基本下载不下来.更改npm的安装源到taobao的镜像,也没有效果. 解决方案 ...
- Visual Studio 2017 vcvarsall.bat 环境配置对应关系
博客参考:https://chenzehe.iteye.com/blog/1703429 安装Visual Studio 2017之后,vcvarsall.bat ,vcvars32.bat,vcva ...
- Android Studio打包没有Generate signed apk选项 解决方法
原文地址:https://www.jianshu.com/p/9e02e55f0ba8 1.点击build栏目-并没有Generate signed apk选项 2.点击file,选中如下图所示Syn ...
- [LeetCode] 637. Average of Levels in Binary Tree 二叉树的层平均值
Given a non-empty binary tree, return the average value of the nodes on each level in the form of an ...
- node 单例
ScriptManager.getInstance = function () { if (_instance != null) { return _instance; } else { return ...
- 【计算机视觉】目标检测中的指标衡量Recall与Precision
[计算机视觉]目标检测中的指标衡量Recall与Precision 标签(空格分隔): [图像处理] 说明:目标检测性能指标Recall与Precision的理解. Recall与Precision ...