【发布时间】:2017-07-25 08:56:36
【问题描述】:
我可以成功地对其他自定义 dll(我自己创建的 .net 程序集)进行逆向工程,但我无法使用相同的步骤在 mscorlib.dll 上进行。
我尝试使用 jetbrains dotpeek 生成 mscorlib.dll 的 pdb。
我的 Visual Studio 调试选项已设置为包含该 pdb 的文件夹。
我尝试把mscorlib.ini文件中的代码优化设置为No,像这样:
[.NET Framework Debugging Control]
GenerateTrackingInfo=1
AllowOptimize=0
并将文件放在加载临时 dll 的同一位置(例如
C:\Windows\Microsoft.NET\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089)。
当我将 VS 附加到进程时,我可以看到 Visual Studio 的模块中的 Optimized 值仍然是“是”。
如果有人可以指导我在使用 mscorlib.dll 将 VS 附加到进程时如何调试 mscorlib.dll 的分步说明。
谢谢。
【问题讨论】:
-
我相信 mscorlib 已被更新。因此 AllowOptimize 值在“运行时”期间无效。它必须在 ngen.exe 运行期间指定(参见this article 上的第一个“注释”)。
-
@Alexander Ng,我们经常在获得.NET库的参考源后调试它:stackoverflow.com/questions/6061676/…,您似乎只是加载了发布版本中的dll文件。
标签: .net visual-studio debugging