我正在寻找一些框架,允许反编译一个.NET程序集来获得源代码。
我知道Reflector提供了某种类型的API来对程序集执行操作,当我使用它时,我似乎只能得到IL指令,而不是实际的源代码。
我想要做的是设置某种智能的未处理异常处理程序,它将使我获得失败的代码行(用于内部调试目的)。
这可以使用Reflector API实现吗?为了达到这个目的,还有哪些工具可用?
发布于 2011-12-27 05:23:22
我写了几篇文章,可能会对你有所帮助。
http://www.simple-talk.com/dotnet/.net-framework/-.net-reflector-meets-the-codedom/谈到要为Reflector创建自己的语言。这对于Reflector将抛出的可行走语言结构非常有用。
http://www.simple-talk.com/dotnet/.net-tools/hosting-.net-reflector-in-your-own-application/谈到在您自己的代码中托管Reflector以使用该应用程序接口。这将引导您完成在reflector中访问API并访问其逻辑的过程。
我希望这至少能为你指明方向,让你得到你需要的东西。
发布于 2011-12-25 23:49:28
你可以看看(开源) ILSpy。由于它们能够完成您所需的工作,并且还提供源代码,因此您应该能够以此为起点。
发布于 2011-12-26 06:47:56
我不确定我是否理解您所需的内容,但是如果您想要有关异常发生位置的运行时信息,您可以使用System.Diagnostics名称空间中的StackTrace和StackFrame类从调用堆栈中检索信息。但不幸的是,您将无法获得明文形式的源代码。
https://stackoverflow.com/questions/8630260
复制相似问题