下的MonoTouch的下面一行代码编译,但生成一个InvalidProgramException:无效IL代码IL_0038:newobj在MonoTouch的
var bytes = new byte[,]{};
System.InvalidProgramException
Invalid IL code in Foo: IL_0038: newobj 0x0a000012
但是,下面的不运行时失败:
var bytes = new byte[,]{{}};
我很好,用第二个表达式。但是,第一个有什么问题吗?如果是这样,它不应该不能编译?
这看起来像内存损坏,但很难说,因为详细信息将存在于不安全块中使用的(未提供的)参数/变量中。你能提供更多细节吗?包括哪一行引发此异常? – poupou 2012-07-25 17:16:34
您是否尝试过在组件上运行PEVerify? – svick 2012-07-25 17:44:21
经过调查,我发现罪魁祸首的表达。调试器不会采用有问题的方法进入方法。我已经更新了这个问题。 – 2012-07-25 17:47:32