我动态生成程序集并从这些程序集中调用方法。我同时使用视觉工作室和单声道。有时,我对 ILGenerator.Emit 做错了事,并在尝试调用方法时得到了InvalidProgramException 。
有什么办法可以得到错误的指令?
到目前为止,我必须使用 ILSpy 反汇编程序集并手动通过 IL,当生成的方法很简单时,这是可以的。
不幸的是,有时生成的方法包含数百条 MSIL 指令,并且很难识别错误。
我想知道是否有任何内置的东西可以帮助我。
不幸的是 peverify 不是很有帮助,因为我生成了不安全的代码(带有指针)。因此,我得到了这种错误:
非托管指针不是可验证的类型
此外,其中一些错误仅发生在单声道中,而不发生在 Visual Studio 中。
谢谢