如何在DynamicMethod的emited代码上调试InvalidProgramException

Way*_*yne 6 c# debugging reflection.emit dynamicmethod

在搜索了stackoverflow和googling很多之后,为DynamicMethods调试代码提供的调试解决方案似乎已经过时且非常笨拙.

当然,在LCG(轻量级代码生成)发布后的4年或更长时间内,有人必须找到更好的方法.

您发现什么是验证您编写和调试它的动态IL的最简单方法?

你使用peverify或ILDasm还是别的什么?这两个工具需要将程序集写入磁盘,但DynamicMethod不提供任何直接的方法.

显然,WinDbg aso提供了一种查看IL的方法,但处理这个问题非常尴尬.

像VisualStudio 2010这样的插件将是理想的选择.

有任何想法吗?

小智 2

您可以使用 ILGenerator.MarkSequencePoint 来逐步调试所发出的代码。